1. 程式人生 > >C# 關於字符集的問題 預設 UTF-8 Unicode Default

C# 關於字符集的問題 預設 UTF-8 Unicode Default

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            byte[] a=new byte[1024];

            a=Encoding.UTF8.GetBytes("個");

 

//Encoding.UTF8.GetBytes();函式功能是從字串對應的字元陣列轉換成以utf-8形式的位元組陣列。

//由以下幾個圖片可知:一個漢字 utf-8編碼需要3個位元組,Unicode 和default(gb2312) 佔用2個位元組。

//轉換可以這麼理解 42 78 兩個位元組通過某種對映方式轉換成3個位元組 228 184 170      

     byte[] b=new byte[1024];

            b = Encoding.Unicode.GetBytes("個");


//漢字“個” 預設 以unicode編碼 表示一系列的unicode字元

   

            byte[] c = new byte[1024];

            c = Encoding.Default.GetBytes("個");

            String str = Encoding.UTF8.GetString(a);

//Encoding.UTF8.GetString(a)可以這麼理解:以utf-8轉換格式的三個位元組進行合併,然後以unicode的形式轉換成string形式。


            String str1 = Encoding.Unicode.GetString(b);

            String str2 = Encoding.Default.GetString(c);

//str1 str2 str 均是“個”


            byte[] d = new byte[1024];

            d = Encoding.Unicode.GetBytes(str);

          

            byte[] e = new byte[1024];

            e = Encoding.Unicode.GetBytes(str1);


//由d和e相等,可知str 和 str1均是由unicode編碼   

     }

    }

}