UTF-16, UTF-16LE, UTF-16BE
之前整了好久没闹清楚,看到一篇文章,文章写的好,就容易理解,因为它举了实际的例子,我们写文档也应该这样写,言简意赅,通俗易懂。
UTF-16BE (big endian):字母a表示在内存中(或者代码编译后)为[0x00, 0x61]
UTF-16LE(little endian):字母a表示在内存中(或者代码编译后)为[0x61, 0x00]
UTF-16, 要自动判断一个文件到底是UTF-16LE还是BE, 在UTF-16文件的头2个字节里做个标记: LE [0xFF, 0xFE], BE [0xFE, 0xFF]
之所以不统一,应该各有长处和机器的支持问题。
其实简单一句话就是完全双字节表示法。只是高位低位怎么放的问题有差别,就这样简单。