2024年6月1日发(作者:)

UltraEdit引出的字符编码问题

一.关于各种编码文件标记头

各种编码文件开头

UTF-8以 EF BB BF

UTF-16以 FE FF(big-endian) FF FF(little-endian)

UNICODE以 FF FE

一.各种编码对于中文:

各种编码对于中文:

ASCII 中文 2个字节;英文:1个字节

UNICODE 中文 2个字节;英文:2个字节

UTF-8 中文 3个字节;英文:1个字节 (开头有2个字节表示长度)

二.中国的各种编码表示

ASCII 中国--D6 D0 B9 FA A--61

1

UTF-8 中国--E4 E8 AD E5 9B BD 61 A--61

UNICODE 中国--FF FE 2D 4E FD 56 A--61 00

三.关于UltraEdit的问题

1.用UNICODE编辑可以看到,默认的存储是ansi。用记事本的另存为即可看到其真

实的存储格式。

dit打开utf-8会默认的用UNICODE方式来显示,我们要转化为ASCII显示,

这样就能看到真实的utf编码了.在ASCII编辑模式下,会将utf-8编码当作gb2312来显

示。

3.关于各种转化.

对于UNICODE/UTF-8转UTF-8(UNICODE编辑),我们可以看到中文字符,但是

却看不到UTF-8的16进制表示,看到的都是UNICODE,因为UltraEdit会做内部转换。

对于UNICODE/ASCII/UTF-8-8转UTF-8-8(ASCII编辑),我们可以看到UTF-8-8

的真实16进制表示,但是却看不到中文字符的正常显示。

4. 关于 中国a中国中国(6中文1英文)

倘不出问题,用ASCII转UTF-8-8(UNICODE编辑),这时在UNICODE中看到的

文字的16进制编码是UNICODE格式,因为是UNICODE编辑的。但是保存却是UTF-8

格式保存的。例如:

2