c#汉字内码问题,请高手解答!!!!!!!!!!

这是c#form窗口,在text文本框中输入一个汉字,怎样知道它是汉字内码中的第几个汉字... 这是c#form窗口,在text文本框中输入一个汉字,怎样知道它是汉字内码中的第几个汉字 展开
 我来答
百度网友9308069
2012-09-09 · TA获得超过1万个赞
知道大有可为答主
回答量:3947
采纳率:89%
帮助的人:1925万
展开全部
winforms和WPF等的TextBox文本输入控件,输入后的文本都已经转换成System.String
编码为UTF16,字符集现有约11万个字符,绝大部分汉字字符以数字显示时可以看成“码位值”
比如
Console.Write("{0:d}",textbox.Text[0]);//显示第一个字符的数字值。
更多追问追答
追问
如果我输入一个汉字“王”,  如何将“王”转换成Unicode,然后与第一个汉字“一”的Unicode编码相减就是第几个汉字了
追答
这种减一是基于对unicode不了解的“野路子”,不会得到“第几个汉字”
在unicode字符'一'之前的汉字还有许多。
比如笔画、边旁部首,圆框方框文字、日历字、扩展集A就有6591个汉字
都在'一'之前,所以求“第几个汉字”是错误的想法,
强行减法可以
int n=textbox.Text[0]-'一';
只会得到和‘一’字符的相对距离。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式