在进行加密解密时,
[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,后面跟着其他字符,
我想要的字符要求是广本可视化工具上面看到的字符。是不是编码问题。
[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,后面跟着其他字符,
我想要的字符要求是广本可视化工具上面看到的字符。是不是编码问题。
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);