Windows Phone 7 中将Gb2312编码转换成UTF-8

原创 2012年03月30日 21:09:23

相信大家在wp7开发时使用一些网站提供的API的时候会发现他们提供的API的编码是GB2312的,而wp7并不支持。

前一阵子我在做一个应用的时候也遇到了这个问题。群里的一个大大提供了两个类帮忙解决了这个问题。

/Files/Angle-Louis/GB2312相关的编码类.rar

那么如何使用这两个类呢?

比如您使用了Webclient从网络上获取资源,那么在Client_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)函数中

 

                byte[] txtBytes = StreamToBytes(e.Result);
                Gb2312Encoding encoding = new Gb2312Encoding();
                string str1 = encoding.GetString(txtBytes, 0, txtBytes.Length);
                byte[] uftBytes = Encoding.UTF8.GetBytes(str1);
                //System.Convert.FromBase64String(str1);
                Stream utfStream = BytesToStream(uftBytes);
                using (StreamReader UtfReader = new StreamReader(utfStream))
                {
                    string Result = UtfReader.ReadToEnd();
                    //这里已经是Utf-8的编码了
                }
 

 

        public byte[] StreamToBytes(Stream stream)
        {
            byte[] bytes = new byte[stream.Length];
            stream.Read(bytes, 0, bytes.Length);

            // 设置当前流的位置为流的开始 
            stream.Seek(0, SeekOrigin.Begin);
            return bytes;
        }
        public Stream BytesToStream(byte[] bytes)
        {
            Stream stream = new MemoryStream(bytes);
            return stream;
        }

C++转换unicode utf-8 gb2312编码

windows开发环境下用VC++6.0 对unicode 、utf-8、 gb2312 三种编码格式之间的转换方法: #include #include #include using nam...
  • guzicheng
  • guzicheng
  • 2012年06月08日 14:44
  • 3301

UTF-8转换成GB2312的全处理

主题:将UTF-8编码的字符串转化成GB2312的编码,没有对应编码的字符串转化为&#DEC; 的格式。如 회=>회语言:PHP,Javascript内容:浏览器用Javascript中...
  • d_einstein
  • d_einstein
  • 2005年09月07日 14:37
  • 1983

真正UTF-8与GB2312间的转换(兼容windows和Linux)

                                                       UTF-8与GB2312间的转换                             ...
  • alexaroma
  • alexaroma
  • 2008年05月10日 16:31
  • 1970

c语言中关于utf-8编码转换为gb2312的问题

在网上查到如下代码: 问题是:输出发现gb2312->utf8是没问题的,但是utf8转为gb2312时发现只转换了英文部分,汉字部分并没有转换,期待高手释疑! #include #inc...
  • songzhichao4444
  • songzhichao4444
  • 2014年01月17日 10:22
  • 1568

将ISO8859-1字符串转成GB2312编码

public String(byte bytes[], Charset charset)函数可以用指定字节数组和编码来构造字符串。 public byte[] getBytes(Charset ch...
  • Alicewu712
  • Alicewu712
  • 2016年05月03日 09:30
  • 318

android utf-8 转gb2312

android 通过EditText.getText().toString(),得到设备的名称(devicename),android默认的编码是utf-8,现在修改支持中文的名字,必须要对devic...
  • u011636207
  • u011636207
  • 2013年12月14日 21:14
  • 3128

PHP iconv 解决utf-8和gb2312编码转换问题

就一个很简单的函数iconv();但是就是这个函数在网上找了很多例子,都无法成功转换,这是为什么呢? 终于皇天不负有心人,答案还是让我找到了。  网上的都是这样用的,代码如下:...
  • qq_15796423
  • qq_15796423
  • 2016年07月07日 16:44
  • 1621

MD5 编码 转换

 编码MD5转换相关问题! public static void main(String[] args) throws UnsupportedEncodingException { // Stri...
  • evane1890
  • evane1890
  • 2011年04月06日 14:00
  • 2108

URL链接中汉字乱码转UTF-8和gb2312

在使用URL向服务器提交数据的时候,如果我们提交的数据中存在汉字,就会出现下列情况 http://192.168.11.22/cgi-bin/serial.cgi?type=text&text=%C...
  • u011037149
  • u011037149
  • 2016年04月02日 18:45
  • 1207

判断一段文件是UTF-8编码还是GB2312的编码方式

对于只包含中文和英文的文本中判断编码方式是非常简单的,中文的编码方式最常用的是GBK,字符集更大的如GBK向下兼容GB2312,其中包含的的很多一部分字符是我们在日常生活中用不到的,因此在实际中我们一...
  • xiaofei0859
  • xiaofei0859
  • 2015年05月25日 10:45
  • 397
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Windows Phone 7 中将Gb2312编码转换成UTF-8
举报原因:
原因补充:

(最多只允许输入30个字)