UTF-16是一个双字节字符编码.交换两个字节的地址将产生UTF-16BE和UTF-16LE.
但我发现命名的UTF-16编码存在于Ubuntu"gedit"文本编辑器中,以及UTF-16BE和UTF-16LE.使用C测试程序,我发现我的计算机是小端,并且UTF-16被确认为UTF-16LE的相同编码.
另外:在小/大端计算机中有两个字节顺序的值(例如整数).小端计算机将在硬件中产生很少的字节序值(除了Java生成的值,它总是形成一个大端).
虽然文本可以在我的小端计算机中保存为UTF-16LE和UTF-16BE,但字符是一个字节一个字节生成的(例如ASCII字符串,对[3]的引用和刚刚定义的UTF-16的字节顺序)由人类 - 不是因为大端机器写大端UTF-16而小端机写小端UTF-16的现象?
[1] http://www.ibm.com/developerworks/aix/library/au-endianc/
[2] http://teaching.idallen.com/cst8281/10w/notes/110_byte_order_endian.html
[3] ASCII字符串和字节序
[4] 字节顺序只影响数字的内存布局,而不影响字符串吗?这是一个字符串和机器的字节顺序之间的关系.