用扫描器传过来 - 的ASCII编码 是189
在C#中解析的时候变成了 ½
我查了一下,发现 - 在C#中ASCII编码为 45 而不是 189
然后百度搜了一下发现,
有2个ASCII码表 查询工具,
一个显示的 45
另外一个显示的是 189我就郁闷了,这个怎么回事?
C#中怎么才能把这个189按照扫描器的方式解析?

解决方案 »

  1.   

    你换一个编码方式解码,不是还有Default、UNICODE,UTF8等编码方式吗?挨个试试看
      

  2.   

    看清是 ASCII 编码哦,跟UNICODE,UTF8没有关系吧
      

  3.   

            string GetResStr(string url, string Encod)
            {
                WebRequest WReq;
                WebResponse WResp;
                StreamReader sr;
                WReq = WebRequest.Create(url);
                WResp = WReq.GetResponse();
                sr = new StreamReader(WResp.GetResponseStream(), Encoding.GetEncoding(Encod));
                string retValue = sr.ReadToEnd();
                sr.Close();
                return retValue;
            } GetResStr(url, "ASCII")
      

  4.   

    ......我是说“-” 号,在C#里面解析对应的ASCII码是45
    不管是Encoding.ASCII 还是 ASCIIEncoding 都是45
    但是扫描器再扫描数据的时候,会把“-” 号的ASCII解析为189
    由于ASCII编码对不上,造成解析的数据乱了
      

  5.   

    标准的ASCII码表里“-”的值就是45吧
      

  6.   

    另外,Encoding.ASCII不是仅限于最低 128 个 Unicode 字符(从 U+0000 到 U+007F)吗?
      

  7.   


    http://ascii.911cha.com/
    查的为 189
      

  8.   


    你这网址太坑了
    通过那个查询确实是查的189,但是你看下面的表格,在表格中值为45的却是“-”,这都不统一PS:顺便问下怎么在C#里让ASCII码支持扩展部分?直接Encoding.ASCII好像只支持128个。http://msdn.microsoft.com/zh-cn/library/vstudio/system.text.encoding.ascii.aspx
      

  9.   

    哈哈你也发现了,我知道什么原因了,键盘上按下的 - 键时,keyValue值就是189
    是键盘按键的码不是ascii码。