Ansi, Unicode, Unicode big endian, UTF-8 不同编码文件类型区分

Ansi, 只存储ASC字符,每个字符占1个字节。比如abc存成Ansi文件,大小为3字节。
二进制表示: 61 62 63
Unicode, 每个unicode字符占2个字节,可以表示各种字符。在unicode的文件的头两个字节存储FF FE,用来表示这是一个Unicode文件。比如abc存成Unicode文件,大小为2*3+2 = 8字节。
文件的二进制表示: FF FE 61 00 62 00 63 00, a编码为61 00, 占连个字节,编码从高字节开始。
Unicode big endian, 存储大小与Unicode一致,头2个字节为FE FF, 字符编码变为从低字节开始。
例如字符a的编码为 00 61,所以abc存成Unicode big endian文件的二进制表示为:
FE FF 00 61 00 62 00 63
UTF-8, 前三个字节保存为EF BB BF表示该文件为用UTF-8为字符编码,Ansi字符占一个字节,UTF-8用1到6个字节编码UNICODE字符。
Abc的utf-8表示即为EF BB BF 61 62 63

Leave a Reply

Your email address will not be published. Required fields are marked *