GB2312到utf8
C#代码
- 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;
- }
- }
UTF8转GB2312
C#代码
- 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;
- }
- }