我对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摆脱它。您可能还会将票证发布到他们的票证系统,这似乎很奇怪。