记事本存储格式之诡异UTF-8

记事本存储格式之诡异UTF-8

本帖意图:希望众大神出手解决两个问题:
1、让系统自带记事本在以UTF-8格式存储时,BOM头为EF BB BF,且一个汉字以3字节保存;
2、去除utf-8-tool.exe的自校验,进而汉化界面。
utf-8-tool样本下载地址:https://yietlqwr.lanzous.com/ibmfpng

一、系统自带记事本的问题
文本文档,默认是ANSI格式,转存为UNICODE格式时,加上了BOM头FF FE,一个汉字2字节,编码当然也变了,这个没有问题,属正常现象;但是以UTF-8格式存储时,却是仅在UNICODE基础上再加上FF FE头,一个汉字还是2字节,且编码与UNICODE完全相同,如下图:

找了个工具utf-8-tool.exe,

将文档转化,得到BOM头为EF BB BF的真正UTF-8格式文档,此时一个汉字为3字节编码,如图

这个结果和以前XP下的记事本UTF-8格式是一样的。
更诡异的是,转来转去,将utf-8-tool.exe也同化了,转带BOM头的UTF-8时也变成和记事本一样了!此后,utf-8-tool.exe死活也转不成BOM头为EF BB BF一汉字3字节的UTF-8了!真是吊诡!!!

二、utf-8-tool.exe汉化去校验的问题
经查utf-8-tool.exe无壳,显示由Microsoft Visual C++ 6.0 [Overlay]编译

由关键字定位到代码,仅修改一字符,将t改成T,软件就不能正常运行,出现




再由关键字定位到代码的3AE0处进而找到1350处,却不知如何去校验了……


THE END
喜欢就支持以下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称