当前位置:编程学习 > C#/ASP.NET >>

C#用ThoughtWorks.QRCode.dll不能解析全是中文的

只能解析开头为字母或符号的二维码 --------------------编程问答-------------------- 在QRCodeUtility文件当中IsUnicode当中 判断是ascii还是unicode,有的时候判断不出来。public static bool IsUnicode(byte[] byteData)
        {
            //string value1 = FromASCIIByteArray(byteData);
            //string value2 = FromUnicodeByteArray(byteData);
            //byte[] ascii = AsciiStringToByteArray(value1);
            //byte[] unicode = UnicodeStringToByteArray(value2);
            //if (ascii[0] != unicode[0])
            //    return true;
            //return false;
            bool isUnicode = false;
            foreach (byte value in byteData)
            {
                if (value > 128)
                {
                    isUnicode =  true;
                    break;
                }
               
            
            }
            return isUnicode;//返回是不是Unicode编码
        }
因为ascii编码当中的最大为127,这样判断后,就能正确的判断是不是unicode,这样就能正确的解码中文了 --------------------编程问答-------------------- 这是因为编码的时候没注意格式,所以解码的时候根据编码的格式去解码,所以解码中文有问题。
说白了就是编码已经出错了,解码不错才怪了
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,