首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

调用 Encoding.GetEncoding("GB2312").GetString报错解决办法

2012-03-23 
调用 Encoding.GetEncoding(GB2312).GetString报错手持机调用这个 Encoding.GetEncoding(GB2312).GetS

调用 Encoding.GetEncoding("GB2312").GetString报错
手持机调用这个 Encoding.GetEncoding("GB2312").GetString(byte,0,byte.Length);
这句话以后报错,如果能解析出来的数就不报错,如果解析不出来就报错,这是为什么?解析不出来不是应该是乱码吗?
虽然这个可以捕获异常,但是总是感觉听不爽得,有没有可以解决的,
错误如下:

未处理 ArgumentException
Value does not fall within the expected range.


[解决办法]

C# code
try {    viewmsg.Text = System.Text.Encoding.Default.GetString(outBytes, qd, bytes);    //根据发送字节数组的起点和个数,截取,再转成字符串!!}catch (Exception ex) {    try {        viewmsg.Text = System.Text.Encoding.Default.GetString(outBytes, qd, bytes - 1) + "?";        //  "?" = 少取半个汉字显示(1字节)    }    //ex As Exception    catch {    }} 

热点排行