我对unicode和unicode字符串有些陌生。我正在尝试确定“全角”符号和普通符号之间的区别。

以这两个为例:

正常:http://www.fileformat.info/info/unicode/char/20a9/index.htm

全角:http://www.fileformat.info/info/unicode/char/ffe6/index.htm

我注意到全角被定义为U + 20A9,巧合的是20A9是正常宽度。那么U的值是多少?

使用ICU之类的库时,有没有一种方法可以指定总是返回正常还是满?

谢谢,

最佳答案

U + number是Unicode代码点的符号约定。 U没有“值(value)”。

例如,U + 0020是一个空格。内存中的值为十进制32,十六进制20。

全角字符是另外一回事。

早在3270年代,汉字在显示屏中占据了内存中的两个位置。因此,他们还占用了屏幕上的两列。为了使排列整齐,IBM定义了一组“全角”(最好是“全角”)字母和数字。

如果某些ICU API提供了全角,则可以使用Normalizer摆脱它。您可能还会将票证发布到他们的票证系统,这似乎很奇怪。

07-26 09:13