c# 编码转换

在网上找的。

C#编码转换

编码转换的代码:
/**/ /*   在使用MySql时会遇到中文乱码的问题就此写下面两个函数   
        *   在写入数据库和从数据库读出时将编码改变   
        *   author:alice   
        *   date       :2006/1/25   
      
*/
   
      
// 写入数据库时进行转换   
       public     string    GB2312_ISO8859( string    write)   
      
{   
        
//声明字符集   
        System.Text.Encoding   iso8859,   gb2312;   
        
//iso8859   
        iso8859   =   System.Text.Encoding.GetEncoding("iso8859-1");   
        
//国标2312   
        gb2312   =   System.Text.Encoding.GetEncoding("gb2312");   
        
byte[]   gb;   
        gb   
=   gb2312.GetBytes(write);   
        
//返回转换后的字符   
        return   iso8859.GetString(gb);   
      }
   
        
      
// 读出时进行转换   
       public     string    ISO8859_GB2312( string    read)   
      
{   
        
//声明字符集   
        System.Text.Encoding   iso8859,gb2312;   
        
//iso8859   
        iso8859         =   System.Text.Encoding.GetEncoding("iso8859-1");   
        
//国标2312   
        gb2312   =   System.Text.Encoding.GetEncoding("gb2312");   
        
byte[]   iso;   
        iso   
=   iso8859.GetBytes(read);   
        
//返回转换后的字符   
        return   gb2312.GetString(iso);   
      }

以上是C#代码,只能进行单个转换,如果需要批量转换的话,则可以将dataset里面的数据先读入xml文件,然后在页面显示。
  // 批量数据转换   
  
// 其实就是将dataset的内容读出到xml文件,然后再输出   
   public    DataSet   ISO8859_GB2312(DataSet   ds)   
  
{   
  
string   xml;   
  xml   
=   ds.GetXml();   
  ds.Clear();   
  
//声明字符集   
  System.Text.Encoding   iso8859,gb2312;   
  
//iso8859   
  iso8859         =   System.Text.Encoding.GetEncoding("iso8859-1");   
  
//国标2312   
  gb2312   =   System.Text.Encoding.GetEncoding("gb2312");   
  
byte[]   bt;   
  bt   
=   iso8859.GetBytes(xml);   
  xml   
=   gb2312.GetString(bt);   
  ds.ReadXml(
new   System.IO.StringReader(xml));   
  
return   ds;   
  }
   

转载于:https://www.cnblogs.com/yangkunlisi/archive/2011/08/29/2158407.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值