C#中UTF-8,GB2312等各种编码之间的转换以及字符串的编码/解码

C#开发 2014-07-09 26455阅读 0评论 0收藏 收藏本文
用本文的标题去GOOGLE,百度一搜索,结果一大把,但我为什么还要写这篇文章呢? 原因只有一个,就是积累一下自己在学习和实际开发中的一些知识和经验,与大家一起分享。对于刚接触C#或者C#编码的朋友,希望在你看到整理的这些转换方法之后对你有所帮助。 C#开发中,编码转换是我们必然遇到也必须处理的一个问题,本文将和大家一起学习在C#开发中是如何来实现像UTF-8到GB2312等各种编码的转换的,由于是工作之余来写文章的,所以我会不断慢慢地更新本文。

1.字符串编码成GB2312后再URL编码

以下是我在控制台应用程序下的演示,这个转换演示实例用到的是System.Web命名空间下的HttpUtility.UrlEncode(string str,Encoding e)方法,所以请先在项目中引入命名空间:System.Web,演示代码:
using System;
using System.Text;
using System.Web;

namespace EImap
{
  class Program
  {
    static void Main(string[] args)
    {
      const string strOrignal = "多拉a七";
      Console.WriteLine("{0}", HttpUtility.UrlEncode(strOrignal, Encoding.GetEncoding("gb2312")));
      Console.ReadKey();
    }
  }
}
执行结果: encode-to-gb2312-2  

2.将字符串从UTF-8转换成Base64编码

public static string EncodeToUTF8Base64(string input)
{
    byte[] bytes =
    System.Text.Encoding.UTF8.GetBytes(input);
    var retr =
    System.Convert.ToBase64String(bytes);
    return retr;
}
 

3.从Base64解码成UTF8

public static string DecodeFromBase64(string input)
{
    byte[] bytes =
    System.Convert.FromBase64String(input);
    var retr =
    System.Text.Encoding.UTF8.GetString(bytes);
    return retr;
}
 

转载请注明:图享网 » C#中UTF-8,GB2312等各种编码之间的转换以及字符串的编码/解码

文章评论

获取验证码