2011年3月13日 星期日

編碼方式

參考來源
-----
透過 Encoding 類別
命名空間為(System.TextSystem.Object)
System.Text.Encoding()
System.Text.ASCIIEncoding()
System.Text.UnicodeEncoding()
System.Text.UTF7Encoding()
System.Text.UTF8Encoding()

Sample :

Dim strContent As String

strContent = "超人德" ' 欲轉換之字串

Dim strBytes() As Byte ' 宣告位元陣列

' 使用 Encoding(類別)
' Default 為取得系統目前 ANSI 字碼頁的編碼方式。
' GetBytes 將指定 String 或字元陣列編碼成位元組陣列。
strBytes = Encoding.Default.GetBytes(strContent) ' 將其轉成位元陣列

' Encoding.GetString 方法 : 將指定的位元組陣列解碼成字串。

' 取得 UTF-8 格式的編碼方式。
MessageBox.Show(Encoding.UTF8.GetString(strBytes)) ' 編碼成 UTF8

' 以 Little-Endian 位元組順序取得 Unicode 格式的編碼方式。
MessageBox.Show(Encoding.Unicode.GetString(strBytes)) ' 編碼成 Unicode

' 取得 ASCII (7 位元) 字元集 (Character Set) 的編碼方式。
MessageBox.Show(Encoding.ASCII.GetString(strBytes)) ' 編碼成 ASCII

' 取得系統目前 ANSI 字碼頁的編碼方式。
MessageBox.Show(Encoding.Default.GetString(strBytes)) ' 編碼成預設

' Encoding.GetEncoding(方法) : 傳回指定字碼頁值或名稱的(Encoding)
' 950 為 CodePage , 也可使用 "Big5"
MessageBox.Show(Encoding.GetEncoding(950).GetString(strBytes)) ' 編碼成 Big5

' 以下介紹幾個常見的 CodePage 對照 :
' 0 為 default to ANSI code page
' 1 為 default to OEM code page
' 2 為 MAC code page
' 3 為 THREAD ANSI code page
' 42 為 SYMBOL
' 1201 為 "unicodeFFFE" "Unicode (Big-Endian)"
' 1258 為 "windows-1258" "越南文 (Windows)"
' 50000 為 "x-user-defined" "使用者定義"
' 50001 為 "_autodetect_all" "自動選取"
' 50220 為 "iso-2022-jp" "日文 (JIS)"
' 50225 為 "iso-2022-kr" "韓文 (ISO)"
' 50932 為 "_autodetect" "日文 (自動選取)"
' 50949 為 "_autodetect_kr" "韓文 (自動選取)"
' 51932 為 "euc-jp" "日文 (EUC)"
' 51949 為 "euc-kr" "韓文 (EUC)"
' 52936 為 "hz-gb-2312" "簡體中文 (HZ)"
' 65000 為 "utf-7" "Unicode (UTF-7)"
' 65001 為 "utf-8" "Unicode (UTF-8)"
' 874 為 "windows-874" "泰文 (Windows)"
' 932 為 "iso-2022-jp" "日文 (Shift-JIS)"
' 936 為 "gb2312" "簡體中文 (GB2312)"
' 949 為 "euc-kr" "韓文"
' 950 為 "big5" "繁體中文 (Big5)"

沒有留言:

張貼留言