在 java 对 Ajax 的响应中处理重音字符时应使用哪个 unicode UTF-8 和 UTF-16

which unicode should be used UTF-8 and UTF-16 when deal with accented characters in java response to Ajax

首先,UTF-8和UTF-16的主要区别是什么,

并且在处理 ajax 到 java 中的重音字符时,我遇到了

在这个问题中 [

如果你能帮助我,非常感谢。

我建议阅读 UTF-8 article on wikipedia,非常棒。

>UTF-8 和 UTF-16 的主要区别是什么

UTF-8是可变宽度的,可以处理unicode中的所有字符,UTF-8的前128个字符是Latin-1,与7位ASCII相同,因此7位ASCII实际上是一个合适的UTF-8 的子集,其中每个字符都是一个字节,如果您知道它永远不会是 Latin-1 以外的任何内容,那么旧字符处理代码将与您的 UTF-8 内容无缝协作。

为了处理 Latin-1 以外的代码页(您的重音字符和其他语言),UTF-8 将每个字符使用一个以上的字节。

UTF-16 是一个稍旧的标准,它也可以处理所有 unicode 字符,但不具有与 ASCII 的向后兼容性,因为它始终至少是双字节。因此,UTF-8 在处理 ASCII 时比 UTF-16 更有效。 (它对其他几个字符集也更有效,但它变得复杂。)

我的建议是始终使用 UTF-8,除非您被诸如库之类的东西强制使用 UTF-16。大多数现代语言使编码之间的转换相当直接,所以选择最有用和最容易支持的一种 运行 和我的经验,特别是 Java 一直是 UTF-8 .