在进行加密解密时,
 [DllImport("data_api.dll", CharSet = CharSet.Ansi)]
        static extern int db_encrypt(byte[] input, byte[] output, int size);        [DllImport("data_api.dll", CharSet = CharSet.Ansi)]
        static extern int db_decrypt(byte[] input, byte[] output, int size);        public string encrypt(string input)
        {
            byte[] input1 = System.Text.Encoding.Default.GetBytes(input);
            byte[] output = new byte[250];
            db_encrypt(input1, output, input1.Length);
            return System.Text.Encoding.Default.GetString(output);        }        public string decrypt(string input)
        {
            byte[] input1 = System.Text.Encoding.Default.GetBytes(input);
            byte[] output = new byte[250];
            db_decrypt(input1, output, input1.Length);
            string s = System.Text.Encoding.Default.GetString(output);
            return s;
        }
调试到string s=System.Text.Encoding.Default.GetString(output)时,s=B0600000017\05789\0\0\0\0....
打开文本可视化工具查看为"B0600000017",绑定到windows appliction的textbox为B0600000017,可绑定到web application下面的GridView,后面跟着其他字符,
我想要的字符要求是广本可视化工具上面看到的字符。是不是编码问题。

解决方案 »

  1.   

     
                  string  oldHtml  =  GetYourGB2312Html();    //                
                    Encoding  encoding;                
                    encoding  =  System.Text.Encoding.GetEncoding( "GB2312 "); 
                    //  string  >  bytes 
                    byte[]  bytes  =  encoding.GetBytes(oldHtml); 
                    encoding  =  System.Text.Encoding.UTF8; 
                    //  bytes  >  string 
                    string  newOldHtml  =  encoding.GetString(bytes); 
                    //Response.Write(newOldHtml); 
    这样就可以把gb2312转成utf8了
    改变字符串编码 
    改变字符串编码,方便某些时候输出或者显示.字符串编码string txt = "[{\"Title\":\"学习使用AJAX技术\",\"Url\":\"#\",\"ArticleId\":\"Art1234\"},{\"Title\":\"使用JQuery构建网站\",\"Url\":\"#\",\"ArticleId\":\"Art1235\"},{\"Title\":\"使用JSON文件传输数据\",\"Url\":\"#\",\"ArticleId\":\"Art1236\"}]";byte[] txt1 = System.Text.Encoding.GetEncoding("gb2312").GetBytes(txt);byte[] txt2 = System.Text.Encoding.Convert(System.Text.Encoding.GetEncoding("gb2312"), System.Text.Encoding.UTF8, txt1);string txt3 = System.Text.Encoding.UTF8.GetString(txt2);