UltraEdit下诡异的乱码
2015-03-18 13:59
120 查看
UE打开汉字乱码,而记事本打开则非乱码现象分析 :
UltraEdit是个功能很强大的文本编辑器,日常的工作程序开发工作基本上都用它就完成。
最近碰到一个比较奇怪的情况,在同一系统下,同一个文件,用UE打开是乱码(),而用记事本打开正常(开始时间),这是一种什么情况?
分析:
我们假设在两种方式打开前,文件的编码是一致的,而种种迹象表明测试机上UE是用utf-8来解码的(可以测试证明,用记事本打开该文件,另存为utf-8,再用UE将另存后文件打开,显示正常,不再是乱码),记事本是用什么解码尚不明确,
""的utf-8编码是:
[-62, -65, -62, -86, -54, -68, -54, -79, -62, -68, -30, -117, -118]
转换成16进制表示:
C2 BF C2 AA CA BC CA B1 C2 BC E2 8B 8A
但是这编码和"开始时间"又有什么联系呢?
再看"开始时间"的gbk编码:
[-65, -86, -54, -68, -54, -79, -68, -28]
转换成16进制表示:
BF AA CA BC CA B1 BC E4
看似有一定联系,但一下又找不到明确的关联~可能是编码有问题~
基本确定原因是UE中有一个配置项是自动检测UTF-8文件,如果被UE判断为该文件是UTF-8,那么该文件中包含的汉字即使不是以UTF-8编码的,也为被强制以UTF-8解码,并对原码进行UTF-8泛化处理,如本文上面编码的变化。
UltraEdit的系统设置里有一项为“自动检测UTF-8文件”,如果这个项目设置了,那么UltraEdit会按照一定的规则去检测UTF-8文件。
UltraEdit支持一个很诡异的规则,就是如果文本中包含:encoding="utf-8"这样的字符串,那么,UltraEdit就会认为这个文件是utf-8编码的。
可以这样做一个实验,用windows自带的记事本(notepad)创建一个文本文件,在里面输入点中文,然后写上:encoding="utf-8",保存为ANSI编码的,然后将UltraEdit的“自动检测UTF-8文件”打开,打开刚才用notepad保存的文件,可以发现,这时显示的是乱码。这里UltraEdit把这个文件当作是utf-8编码的了。
总结下来呢就是GBK编码的汉字被UE当作UTF-8泛化解码处理了!
UltraEdit是个功能很强大的文本编辑器,日常的工作程序开发工作基本上都用它就完成。
最近碰到一个比较奇怪的情况,在同一系统下,同一个文件,用UE打开是乱码(),而用记事本打开正常(开始时间),这是一种什么情况?
分析:
我们假设在两种方式打开前,文件的编码是一致的,而种种迹象表明测试机上UE是用utf-8来解码的(可以测试证明,用记事本打开该文件,另存为utf-8,再用UE将另存后文件打开,显示正常,不再是乱码),记事本是用什么解码尚不明确,
""的utf-8编码是:
[-62, -65, -62, -86, -54, -68, -54, -79, -62, -68, -30, -117, -118]
转换成16进制表示:
C2 BF C2 AA CA BC CA B1 C2 BC E2 8B 8A
但是这编码和"开始时间"又有什么联系呢?
再看"开始时间"的gbk编码:
[-65, -86, -54, -68, -54, -79, -68, -28]
转换成16进制表示:
BF AA CA BC CA B1 BC E4
看似有一定联系,但一下又找不到明确的关联~可能是编码有问题~
基本确定原因是UE中有一个配置项是自动检测UTF-8文件,如果被UE判断为该文件是UTF-8,那么该文件中包含的汉字即使不是以UTF-8编码的,也为被强制以UTF-8解码,并对原码进行UTF-8泛化处理,如本文上面编码的变化。
UltraEdit的系统设置里有一项为“自动检测UTF-8文件”,如果这个项目设置了,那么UltraEdit会按照一定的规则去检测UTF-8文件。
UltraEdit支持一个很诡异的规则,就是如果文本中包含:encoding="utf-8"这样的字符串,那么,UltraEdit就会认为这个文件是utf-8编码的。
可以这样做一个实验,用windows自带的记事本(notepad)创建一个文本文件,在里面输入点中文,然后写上:encoding="utf-8",保存为ANSI编码的,然后将UltraEdit的“自动检测UTF-8文件”打开,打开刚才用notepad保存的文件,可以发现,这时显示的是乱码。这里UltraEdit把这个文件当作是utf-8编码的了。
总结下来呢就是GBK编码的汉字被UE当作UTF-8泛化解码处理了!
相关文章推荐
- UltraEdit下诡异的乱码
- UltraEdit打开Linux下编写的文件中文乱码---已解决
- UltraEdit打开中文乱码
- JSP 用 ultraedit编辑后显示乱码
- 解决UltraEdit中编写的代码在vim乱码
- UltraEdit打开中文乱码
- 解决UltraEdit在UTF-8下的乱码问题
- UltraEdit菜单乱码问题解决方法
- 从服务上下载下的日志文件,用UltraEdit打开时中文是乱码解决方法
- ultraedit打开xml是乱码
- Ultraedit 中文显示乱码
- UltraEdit显示中文乱码的解决办法
- UltraEdit 编译输出中文乱码的解决办法
- unicode 字符表 ultraedit在汉字乱码
- Ultraedit 中文显示乱码
- UltraEdit乱码无解,另辟蹊径
- ultraedit中文乱码解决方案
- Keil、ultraedit以及sourceinsight打开代码文件乱码解决方案
- 诡异的中文乱码
- UltraEdit中文乱码的解决方法