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