chrw函数,关于Unicode码的问题??

twohorses 2013-10-21 03:28:38
Unicode用数字0-0x10FFFF来映射字符,最多可以容纳1114112个字符,或者说有1114112个码位。
我们常用的是UCS-2,即:0-0xFFFF,其中平面0的0xD800-0xDFFF,共2048个码位,是一个被称作代理区(Surrogate)的特殊区域。代理区的目的用两个UTF-16字符表示BMP以外的字符。
在vb.net中怎么得到BMP外的字符?比如平面2的字符(应该是通过代理区映射过来的,怎么得到这些字符?),chrw()的参数范围是0-65535,只能得到平面0里的字符。
...全文
327 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
twohorses 2013-11-27
  • 打赏
  • 举报
回复
真的是沉了。。。。。。。。。。。。。。。。。。。
twohorses 2013-10-29
  • 打赏
  • 举报
回复
顶一下,这么多天看来要沉了。。
twohorses 2013-10-22
  • 打赏
  • 举报
回复
引用 3 楼 caozhy 的回复:
比如说什么字符,什么编码,字符多少。

Encoding.GetEncoder("编码名").GetString(把你的编码组成char[])

第二平面的字应该是不常用的,见到也不认识,我打不出来,抓张图片吧:

图上是第二平面的汉字,用vb.net怎么操作他们?
threenewbee 2013-10-21
  • 打赏
  • 举报
回复
比如说什么字符,什么编码,字符多少。 Encoding.GetEncoder("编码名").GetString(把你的编码组成char[])
twohorses 2013-10-21
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
直接用 Encoding.GetEncoder("编码名").GetBytes("字符串")
这个是得到字串的编码,我的意思时,根据unicode码得到字符,比如chrw(20013)=“中”,怎么得到unicode码大于65535的字符?第二平面全是汉字,但是不知道怎么使这些字符显示出来??
threenewbee 2013-10-21
  • 打赏
  • 举报
回复
直接用 Encoding.GetEncoder("编码名").GetBytes("字符串")

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧