Struts 2如何支持多种语言的utf-8编码

Jag*_*esh 1 java utf-8 utf-16

我知道java使用UTF-16编码.即Java用于16 bits编码字符.所以java可以支持65536字符.所以java可以提供国际化.

当我使用Struts2时,我看到Struts2使用的UTF-8编码意味着它只能支持256个字符,ASCII但Struts2仍然支持国际化.

现在我的问题是UTF-8编码如何支持只有256个字符的国际化?

Tom*_*get 6

UTF-16和UTF-8是Unicode字符集的几种编码中的两种.Unicode中最多有1114112(0x0到0x10FFFF)个代码点.UTF-16以一个或两个16位代码单元对Unicode代码点进行编码.UTF-8以一到四个8位代码单元对Unicode代码点进行编码.

ASCII是使用一种编码设置的字符.它有128个代码点.通过Unicode的设计,Unicode的前128个代码点与ASCII相同.

Unicode比大多数字符集复杂一点.在Unicode中,字形(在一个位置呈现的符号)由一个基本代码点和任意数量的组合代码点的序列组成,例如变音符号或cedilla.

Java,JavaScript,.NET ...在内部使用UTF-16,以便字符串是UTF-16代码单元的计数序列,这意味着有无数个代码点和不计数的字形数.这使得迭代变得困难并且索引不可能.

但是,许多标准函数(如读取和写入文件)都使用UTF-8,因为它可以为西方语言节省文本空间.