【发布时间】:2013-02-20 16:35:17
【问题描述】:
我正在尝试返回通常不是英语的字符串字符的 2 字节 WORD 十六进制值。基本上是Unicode表示。使用 vb.net
例如:
FF5F = ((
FF06 = &
这些在 unicode 标准 6.2 中表示。我无法显示此集中显示的某些外语字符。
所以想将我的字符串字符转换为这个 2 字节的值。我无法在 .net 中找到执行此操作的函数。
该代码目前只不过是一个循环遍历字符串字符的 for 循环,因此没有示例进度。
我已经尝试过 AscW 和 ChrW 函数,但它们不返回 2byte 值。 ASCII 在 255 以上似乎不可靠。
如有必要,我可以隔离正在测试的可能语言,以便通过比较只考虑一种语言,尽管始终可以使用英文字符。
任何指导将不胜感激。
【问题讨论】:
-
这些是全角字符,在东亚排版中很常见。像 MS Gothic 这样的字体可以显示它们。目前还不清楚您尝试使用它们做什么,使用 String.ToCharArray() 或仅索引字符串是获取值的简单方法。
-
并非所有 Unicode 字符都适合 2 个字节。要么您在谈论 UTF-16 代码单元(.NET:System.Char),要么您对大小的假设是错误的。
-
我指的是此链接中对半角和全角字符的引用,特别是片假名unicode.org/charts/PDF/UFF00.pdf 在本规范中都是 2 个字节。