我返回的是一个字符串,要求字符串为GB2312的,怎么定义!求解!!
解决方案 »
- sqlconnection和sqldatareader对象,不用了就要close(),但是sqlcommand对象不用后如何处理呢?
- 求助!这个多线程是怎么回事?
- 关于chrb和lenb在c#中的如何使用问题?(急)
- 关于c#的socket,客户端发消息,服务端只接收一次的问题.
- c# web.mail发送附件问题
- 如何在以打开的数据中在筛选数据,高手们帮帮小弟的忙
- 求datagrideView中成绩列,成绩的排名算法
- 紧急求助:如何实现Label控件在WinForm中的拖拽
- 怎样使treeview上某节点获得焦点?——小声的问
- 为什么按方向键不能出发MDI子窗口的KEYDOWN事件
- 求助-VS2010里面没有GDI+怎么办?
- pb系统存的图片,用.net获取显示,失败。
public string UTF8ToGB2312(string str)
{
try
{
Encoding utf8 = Encoding.GetEncoding(65001);
Encoding gb2312 = Encoding.GetEncoding("gb2312");//Encoding.Default ,936
byte[] temp = utf8.GetBytes(str);
byte[] temp1 = Encoding.Convert(utf8, gb2312, temp);
string result = gb2312.GetString(temp1);
return result;
}
catch (Exception ex)//(UnsupportedEncodingException ex)
{
MessageBox.Show(ex.ToString());
return null;
}
}
public string GB2312ToUTF8(string str)
{
try
{
Encoding uft8 = Encoding.GetEncoding(65001);
Encoding gb2312 = Encoding.GetEncoding("gb2312");
byte[] temp = gb2312.GetBytes(str);
MessageBox.Show("gb2312的编码的字节个数:" + temp.Length);
for (int i = 0; i < temp.Length; i++)
{
MessageBox.Show(Convert.ToUInt16(temp[i]).ToString());
}
byte[] temp1 = Encoding.Convert(gb2312, uft8, temp);
MessageBox.Show("uft8的编码的字节个数:" + temp1.Length);
for (int i = 0; i < temp1.Length; i++)
{
MessageBox.Show(Convert.ToUInt16(temp1[i]).ToString());
}
string result = uft8.GetString(temp1);
return result;
}
catch (Exception ex)//(UnsupportedEncodingException ex)
{
MessageBox.Show(ex.ToString());
return null;
}
}