C#中的字符串及其编码转换

关于字符编码以及如何在程序中处理unicode,本想写篇文章总结学习一下,但发现有前人已经论述的很完善了,不再重复,可以参考:http://www.regexlab.com/zh/encoding.htm

     在C++中,字符有char和wchar之分,相应的,字符串有string和wstring两种。

     C#中,string是一个unicode字符串,相应的,每个char都是16位。

      源文件中出现的字符串常量,都会被自动转换为unicode编码(utf16),利用Text.Encoding,可以实现不同编码间的转换。

using System;  
using System.Text;  
  
namespace test  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            string u16s = "忘记了啊abc"; //默认的字符编码是unicode,也就是utf16  
  
            //4种编码  
              Encoding utf8 = Encoding.UTF8;  
            Encoding utf16 = Encoding.Unicode;   
            Encoding gb = Encoding.GetEncoding("gbk");   
            Encoding b5 = Encoding.GetEncoding("big5");  
  
            //转换得到4种编码的字节流  
            byte[] u16bytes = u
        }
    }
}

  

posted on 2014-03-23 21:19  袁军峰  阅读(2624)  评论(0编辑  收藏  举报

导航