UTF-8 多字节 & bom

Ven*_*enu 1 unicode byte-order-mark utf-8 character-encoding

我读过这个很棒的教程
http://www.joelonsoftware.com/articles/Unicode.html

但我不明白 UTF-8 如何解决高端、低端机器的事情。对于 1byte,它很好。对于多字节,它是如何工作的?

有人能解释得更好吗?

小智 5

这是一个深入解释 UTF-8 的链接。http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8

它的核心是,UTF-16 是面向短整数(16 位)的,而 UTF-8 是面向字节的。由于架构在数据类型的字节排序方式(大端、小端)方面可能有所不同,因此 UTF-16 编码可以采用任何一种方式。在所有架构上,我都知道在半字节或半八位字节级别没有字节序。所有字节都是一个连续的 8 位序列。因此 UTF-8 没有字节序。

日本人的性格?是一个很好的例子。它是 U+3042(二进制= 0011 0000 : 0100 0010)。

  • UTF-16BE: 30, 42 = 0011 0000 : 0100 0010
  • UTF-16LE: 42, 30 = 0100 0010 : 0011 0000
  • UTF-8: e3, 81, 82 = 1110 0011 : 10 0000 01 : 10 00 0010

这里有一些关于 unicode 的信息?