标题:中文转汉字编码之中的问题
只看楼主
yyqzou
Rank: 1
等 级:新手上路
帖 子:14
专家分:3
注 册:2013-3-6
结帖率:66.67%
已结贴  问题点数:10 回复次数:2 
中文转汉字编码之中的问题
try
            {
                char chr = textBox1.Text[0];//获得一个汉字字符
                byte[] gb2312_bt =Encoding.GetEncoding("gb2312").GetBytes(new Char[] { chr });//使用gb2312编码方式获得字节序列,这当中的encoding,Getencoding(),GetByte()分别是什么意思啊??为什么用大写Char而不用小写char?  new Char[] { chr } 是表示数组吗??
                int n = (int)gb2312_bt[0] << 8;//将字节序列的第一个字节向左移8位
                n += (int)gb2312_bt[1];//第一个字节移8位后与第二个字节相加得到汉字编码
                textBox2.Text = n.ToString();//显示汉字编码
            }
            catch (Exception)
            {
                MessageBox.Show(//异常提示信息
                    "请输入汉字字符!", "出现错误!");
            }
为什么我这个代码只要输入一个中文字就输出  请输入汉字字符!求解???
搜索更多相关主题的帖子: 中文 汉字编码 中文 汉字编码 
2013-03-15 18:34
yhlvht
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:36
帖 子:707
专家分:4405
注 册:2011-9-30
得分:10 
为什么我这个代码只要输入一个中文字就输出  请输入汉字字符!求解???
报错是因为textBox1.Text[0];取到的是字符串类型,而非字符型,所以需要转换char chr = Convert.ToChar(textBox1.Text[0]);//获得一个汉字字符

为什么用大写Char而不用小写char?
大小写没太大的区别,大写的是小写的经过装箱以后的类,至于为什么会存在大小写,有什么区别,这个要码好多字,网上查查呗。

使用gb2312编码方式获得字节序列,这当中的encoding,Getencoding(),GetByte()分别是什么意思啊??
想要知道这些类,方法的意思,因为以后你还会遇到很多你不知道意思的,所以呢,你把鼠标移上去,再按下左键,让光标停在这些字符中间,按F12

new Char[] { chr } 是表示数组吗??
表示创建并初始化一个Char类型的数组,就是创建一个Char数组,把chr放到数组里去了。
2013-03-15 20:06
yyqzou
Rank: 1
等 级:新手上路
帖 子:14
专家分:3
注 册:2013-3-6
得分:0 
回复 2楼 yhlvht
谢谢!
2013-03-16 09:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-400871-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.018830 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved