我对 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 来摆脱它。您也可以将票张贴到他们的票务系统,这看起来很奇怪。
关于c++ - ICU Unicode 正常与全角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2187927/