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;
        }

相关文章推荐

自动将visual stdio创建的文件从gb2312编码转换成utf8编码

cocos2d-x是一个不错的手机游戏框架,不过由于在中文的windows系统下使用visual stdio2008默认创建的类文件,包括.h和.cpp,其文件编码都是gb2312的。当将这些文件在c...

GBK(GB2312)向UTF-8的编码转换 -- C++

转:http://hi.baidu.com/ilotus_y/blog/item/aec98cf32e4f6c55342accf3.html GBK(GB2312)向UTF-8的编码...

form提交时的字符编码转换之utf-8转gb2312

  在IE下面指定表单提交编码方式 收藏 在跨业务、跨网站发送数据或者业务升级的时候,我们有的时候需要指定发送数据的编码方式,比如页面是utf-8编码的,而发送出去的数据却希望是GB2312编码的。在...
  • fox_lht
  • fox_lht
  • 2011年05月10日 15:44
  • 12358

VBS和ASP中的各种编码转换GB2312、UTF-8、Unicode、URL解码、二进制、十进制代码、十六进制

'UTF转GB---将UTF8编码文字转换为GB编码文字 function UTF2GB(UTFStr) for Dig=1 to len(UTFStr) '如果UTF8编码文字以%开头...
  • wqsys
  • wqsys
  • 2012年07月21日 10:11
  • 2813

ASP中Utf-8与Gb2312编码转换乱码问题的解决方法 页面编码声明

出现这样的问题是当你浏览UTF-8编码的时候,服务器默认用UTF-8的引擎来输出html,当你用再浏览GB2312的页面时,它还是用UTF-8来输出本应是GB2312编码的页面所以会乱码。  为...

C++将 URL转换成正常字符,支持 utf-8 和 gb2312

在做网站分析时,我们经常要分析baidu、google 等搜索引擎的搜索关键字,比如搜索“中国” 在 baidu 中是:http://www.baidu.com/s?wd=%D6%D0%B9%F...

access数据库编码转换:将将UTF8替换为GB2312

代码
  • Draling
  • Draling
  • 2016年08月17日 12:56
  • 2273

如何在 Linux 中将文件编码转换为 UTF-8

转自 https://linux.cn/article-7959-1.html 在这篇教程中,我们将解释字符编码的含义,然后给出一些使用命令行工具将使用某种字符编码的文件转化为...

使用java的native2ascii工具命令来转换编码gbk,gb2312,utf-8【转】

native2ascii的用法 Sun也太吝啬了,也不多给点使用例子. 它的帮助只有:用法:native2ascii [-reverse] [-encoding 编码] [输入文件 [输出文件]]...

linux下C语言utf-8编码与gb2312转换代码---libiconv

linux下C语言utf-8编码与gb2312转换代码 2010-04-02 14:09 int code_convert(char *from_c...
  • zljjava
  • zljjava
  • 2012年08月01日 13:07
  • 10566
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Windows Phone 7 中将Gb2312编码转换成UTF-8
举报原因:
原因补充:

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