表示字元編碼方式。
| 名稱 | 說明 | |
|---|---|---|
|
|
Encoding() | Encoding 類別的新執行個體。 |
|
|
Encoding(Int32) | Encoding 類別的新執行個體。 |
| 名稱 | 說明 | |
|---|---|---|
|
|
ASCII | 取得 ASCII (7 位元) 字元集 (Character Set) 的編碼方式。 |
|
|
BigEndianUnicode | 取得 UTF-16 格式的編碼方式,其使用由大到小的位元組順序。 |
| BodyName | 在衍生類別中覆寫時,取得可以與郵件代理程式主體標籤一起使用的目前編碼方式名稱。 | |
|
|
CodePage | Encoding 的字碼頁識別項。 |
| DecoderFallback | DecoderFallback 物件。 | |
|
|
Default | 取得作業系統目前 ANSI 字碼頁的編碼方式。 |
| EncoderFallback | EncoderFallback 物件。 | |
| EncodingName | 在衍生類別中覆寫時,取得目前編碼方式的人們可讀取 (Human-Readable) 的描述。 | |
| HeaderName | 在衍生類別中覆寫時,取得可以與郵件代理程式標頭標籤一起使用的目前編碼方式名稱。 | |
| IsBrowserDisplay | 在衍生類別中覆寫時,取得值,指出瀏覽器用戶端是否可以使用目前的編碼方式來顯示內容。 | |
| IsBrowserSave | 在衍生類別中覆寫時,取得值,指出瀏覽器用戶端是否可以使用目前的編碼方式來儲存內容。 | |
| IsMailNewsDisplay | 在衍生類別中覆寫時,取得值,指出郵件和新聞用戶端是否可以使用目前的編碼方式來顯示內容。 | |
| IsMailNewsSave | 在衍生類別中覆寫時,取得值,指出郵件和新聞用戶端是否可以使用目前的編碼方式來儲存內容。 | |
| IsReadOnly | 在衍生類別中覆寫時,取得值,指出目前的編碼方式是否為唯讀。 | |
| IsSingleByte | 在衍生類別中覆寫時,取得值,指出目前的編碼方式是否使用單一位元組字碼指標。 | |
|
|
Unicode | 以位元組由小到大位元組順序取得 UTF-16 格式的編碼方式。 |
|
|
UTF32 | 以位元組由小到大位元組順序取得 UTF-32 格式的編碼方式。 |
|
|
UTF7 | 取得 UTF-7 格式的編碼方式。 |
|
|
UTF8 | 取得 UTF-8 格式的編碼方式。 |
|
|
WebName | 在衍生類別中覆寫時,若要取得目前的編碼方式,請取得向 Internet Assigned Numbers Authority (IANA) 註冊的名稱。 |
| WindowsCodePage | 在衍生類別中覆寫時,請取得最能符合目前編碼方式的 Windows 作業系統字碼頁。 |
| 名稱 | 說明 | |
|---|---|---|
|
|
Clone | Encoding 物件的淺層複本。 |
|
|
Convert(Encoding, Encoding, Byte[]) | 將整個位元組陣列從一種編碼方式轉換成另一種編碼方式。 |
|
|
Convert(Encoding, Encoding, Byte[], Int32, Int32) | 將位元組陣列中的某一位元組範圍由一種編碼方式轉換成另一種編碼方式。 |
|
|
Equals | Object.Equals(Object)。) |
|
|
Finalize | Object)。 |
|
|
GetByteCount(Char[]) | 在衍生類別中覆寫時,計算編碼指定字元陣列中所有字元所產生的位元組數目。 |
|
|
GetByteCount(String) | 在衍生類別中覆寫時,計算編碼指定的字串字元所產生的位元組數目。 |
|
|
GetByteCount(Char*, Int32) | 在衍生類別中覆寫時,計算從指定的字元指標開始,編碼一組字元所產生的位元組數目。 |
|
|
GetByteCount(Char[], Int32, Int32) | 在衍生類別中覆寫時,計算從指定的字元陣列編碼一組字元所產生的位元組數目。 |
|
|
GetBytes(Char[]) | 在衍生類別中覆寫時,將指定字元陣列中的所有字元編碼成位元組序列。 |
|
|
GetBytes(String) | 在衍生類別中覆寫時,將指定字串中的所有字元編碼成位元組序列。 |
|
|
GetBytes(Char[], Int32, Int32) | 在衍生類別中覆寫時,將指定字元陣列中的一組字元編碼成位元組序列。 |
|
|
GetBytes(Char*, Int32, Byte*, Int32) | 在衍生類別中覆寫時,從指定字元指標開始將一組字元編碼成位元組序列 (會從指定的位元組指標開始存放這些位元組)。 |
|
|
GetBytes(Char[], Int32, Int32, Byte[], Int32) | 在衍生類別中覆寫時,將指定字元陣列中的一組字元編碼成指定的位元組陣列。 |
|
|
GetBytes(String, Int32, Int32, Byte[], Int32) | 在衍生類別中覆寫時,將指定字串中的一組字元編碼成指定的位元組陣列。 |
|
|
GetCharCount(Byte[]) | 在衍生類別中覆寫時,計算解碼指定位元組陣列中所有位元組所產生的字元數目。 |
|
|
GetCharCount(Byte*, Int32) | 在衍生類別中覆寫時,計算從指定的位元組指標開始,解碼位元組序列所產生的字元數目。 |
|
|
GetCharCount(Byte[], Int32, Int32) | 在衍生類別中覆寫時,計算從指定的位元組陣列解碼位元組序列所產生的字元數目。 |
|
|
GetChars(Byte[]) | 在衍生類別中覆寫時,將指定位元組陣列中的所有位元組解碼成一組字元。 |
|
|
GetChars(Byte[], Int32, Int32) | 在衍生類別中覆寫時,將指定位元組陣列中的位元組序列解碼成一組字元。 |
|
|
GetChars(Byte*, Int32, Char*, Int32) | 在衍生類別中覆寫時,從指定位元組指標開始將位元組序列解碼成一組字元 (會從指定的字元指標開始存放這些字元)。 |
|
|
GetChars(Byte[], Int32, Int32, Char[], Int32) | 在衍生類別中覆寫時,將指定位元組陣列中的位元組序列解碼成指定的字元陣列。 |
|
|
GetDecoder | 在衍生類別中覆寫時,取得會將編碼的位元組序列轉換成字元序列的解碼器。 |
|
|
GetEncoder | 在衍生類別中覆寫時,取得會將 Unicode 字元序列轉換成編碼的位元組序列的編碼器。 |
|
|
GetEncoding(Int32) | 傳回與指定字碼頁識別項相關聯的編碼方式。 |
|
|
GetEncoding(String) | 傳回與指定字碼頁名稱相關聯的編碼方式。 |
|
|
GetEncoding(Int32, EncoderFallback, DecoderFallback) | 參數會針對無法編碼的字元以及無法解碼的位元組序列指定錯誤處理常式。 |
|
|
GetEncoding(String, EncoderFallback, DecoderFallback) | 參數會針對無法編碼的字元以及無法解碼的位元組序列指定錯誤處理常式。 |
|
|
GetEncodings | 傳回包含所有編碼方式的陣列。 |
|
|
GetHashCode | Object.GetHashCode()。) |
|
|
GetMaxByteCount | 在衍生類別中覆寫時,計算編碼指定的字元數所產生的最大位元組數目。 |
|
|
GetMaxCharCount | 在衍生類別中覆寫時,計算解碼指定的位元組數目所產生的最大字元數目。 |
|
|
GetPreamble | 在衍生類別中覆寫時,傳回可指定所用編碼方式的位元組序列。 |
| GetString(Byte[]) | 在衍生類別中覆寫時,將指定位元組陣列中的所有位元組解碼成字串。 | |
|
|
GetString(Byte[], Int32, Int32) | 在衍生類別中覆寫時,將指定位元組陣列中的位元組序列解碼成字串。 |
|
|
GetType | Object)。 |
| IsAlwaysNormalized() | 取得值,指出目前的編碼方式是否永遠都是使用預設的正規化表單進行正規化。 | |
| IsAlwaysNormalized(NormalizationForm) | 在衍生類別中覆寫時取得值,指出目前的編碼方式是否永遠都是使用指定的正規化表單進行正規化。 | |
|
|
MemberwiseClone | Object)。 |
|
|
ToString | Object)。 |
.NET Framework 中的字元編碼方式。
Convert.ToBase64CharArray 之類的方法所實作。
Encoding 類別實作來支援目前的 Unicode 編碼方式和其他編碼方式:
-
ASCII 屬性取得。
-
UTF7 屬性取得。
-
UTF8 屬性取得。
-
BigEndianUnicode 屬性取得。
-
UTF32 屬性取得。
通常,一個衍生的 Unicode 類別就是適合應用程式的正確選擇。
GetEncodings 方法取得所有編碼方式的清單。
最後一欄中的星號指示 .NET Framework 原本就支援此字碼頁 (不論基礎平台為何)。
|
字碼頁 |
名稱 |
顯示名稱 |
|
|---|---|---|---|
|
37 |
IBM037 |
IBM EBCDIC (美國-加拿大) |
|
|
437 |
IBM437 |
OEM 美國 |
|
|
500 |
IBM500 |
IBM EBCDIC (國際) |
|
|
708 |
ASMO-708 |
阿拉伯文 (ASMO 708) |
|
|
720 |
DOS-720 |
阿拉伯文 (DOS) |
|
|
737 |
ibm737 |
希臘文 (DOS) |
|
|
775 |
ibm775 |
波羅的海文 (DOS) |
|
|
850 |
ibm850 |
西歐語系 (DOS) |
|
|
852 |
ibm852 |
中歐語系 (DOS) |
|
|
855 |
IBM855 |
OEM 斯拉夫文 |
|
|
857 |
ibm857 |
土耳其文 (DOS) |
|
|
858 |
IBM00858 |
OEM 多語系拉丁文 I |
|
|
860 |
IBM860 |
葡萄牙文 (DOS) |
|
|
861 |
ibm861 |
冰島文 (DOS) |
|
|
862 |
DOS-862 |
希伯來文 (DOS) |
|
|
863 |
IBM863 |
加拿大法文 (DOS) |
|
|
864 |
IBM864 |
阿拉伯文 (864) |
|
|
865 |
IBM865 |
北歐字母 (DOS) |
|
|
866 |
cp866 |
斯拉夫文 (DOS) |
|
|
869 |
ibm869 |
希臘文,現代 (DOS) |
|
|
870 |
IBM870 |
IBM EBCDIC (多語系拉丁文 2) |
|
|
874 |
windows-874 |
泰文 (Windows) |
|
|
875 |
cp875 |
IBM EBCDIC (希臘文現代) |
|
|
932 |
shift_jis |
日文 (Shift-JIS) |
|
|
936 |
gb2312 |
簡體中文 (GB2312) |
* |
|
949 |
ks_c_5601-1987 |
韓文 |
|
|
950 |
big5 |
繁體中文 (Big5) |
|
|
1026 |
IBM1026 |
IBM EBCDIC (土耳其拉丁文 5) |
|
|
1047 |
IBM01047 |
IBM 拉丁文 1 |
|
|
1140 |
IBM01140 |
IBM EBCDIC (美國-加拿大-歐洲) |
|
|
1141 |
IBM01141 |
IBM EBCDIC (德國-歐洲) |
|
|
1142 |
IBM01142 |
IBM EBCDIC (丹麥-挪威-歐洲) |
|
|
1143 |
IBM01143 |
IBM EBCDIC (芬蘭-瑞典-歐洲) |
|
|
1144 |
IBM01144 |
IBM EBCDIC (義大利-歐洲) |
|
|
1145 |
IBM01145 |
IBM EBCDIC (西班牙-歐洲) |
|
|
1146 |
IBM01146 |
IBM EBCDIC (英國-歐洲) |
|
|
1147 |
IBM01147 |
IBM EBCDIC (法國-歐洲) |
|
|
1148 |
IBM01148 |
IBM EBCDIC (國際-歐洲) |
|
|
1149 |
IBM01149 |
IBM EBCDIC (冰島文-歐洲) |
|
|
1200 |
utf-16 |
Unicode |
* |
|
1201 |
unicodeFFFE |
Unicode (位元組由大到小) |
* |
|
1250 |
windows-1250 |
中歐語系 (Windows) |
|
|
1251 |
windows-1251 |
斯拉夫文 (Windows) |
|
|
1252 |
Windows-1252 |
西歐語系 (Windows) |
* |
|
1253 |
windows-1253 |
希臘文 (Windows) |
|
|
1254 |
windows-1254 |
土耳其文 (Windows) |
|
|
1255 |
windows-1255 |
希伯來文 (Windows) |
|
|
1256 |
windows-1256 |
阿拉伯文 (Windows) |
|
|
1257 |
windows-1257 |
波羅的海文 (Windows) |
|
|
1258 |
windows-1258 |
越南文 (Windows) |
|
|
1361 |
韓文 |
韓文 (Johab) |
|
|
10000 |
Macintosh |
西歐語系 (Mac) |
|
|
10001 |
x-mac-japanese |
日文 (Mac) |
|
|
10002 |
x-mac-chinesetrad |
繁體中文 (Mac) |
|
|
10003 |
x-mac-korean |
韓文 (Mac) |
* |
|
10004 |
x-mac-arabic |
阿拉伯文 (Mac) |
|
|
10005 |
x-mac-hebrew |
希伯來文 (Mac) |
|
|
10006 |
x-mac-greek |
希臘文 (Mac) |
|
|
10007 |
x-mac-cyrillic |
斯拉夫文 (Mac) |
|
|
10008 |
x-mac-chinesesimp |
簡體中文 (Mac) |
* |
|
10010 |
x-mac-romanian |
羅馬尼亞文 (Mac) |
|
|
10017 |
x-mac-ukrainian |
烏克蘭文 (Mac) |
|
|
10021 |
x-mac-thai |
泰文 (Mac) |
|
|
10029 |
x-mac-ce |
中歐語系 (Mac) |
|
|
10079 |
x-mac-icelandic |
冰島文 (Mac) |
|
|
10081 |
x-mac-turkish |
土耳其文 (Mac) |
|
|
10082 |
x-mac-croatian |
克羅埃西亞文 (Mac) |
|
|
12000 |
utf-32 |
Unicode (UTF-32) |
* |
|
12001 |
utf-32BE |
Unicode (UTF-32 位元組由大到小) |
* |
|
20000 |
x-Chinese-CNS |
繁體中文 (CNS) |
|
|
20001 |
x-cp20001 |
TCA 台灣 |
|
|
20002 |
x-Chinese-Eten |
繁體中文 (倚天) |
|
|
20003 |
x-cp20003 |
IBM5550 台灣 |
|
|
20004 |
x-cp20004 |
TeleText 台灣 |
|
|
20005 |
x-cp20005 |
Wang 台灣 |
|
|
20105 |
x-IA5 |
西歐語系 (IA5) |
|
|
20106 |
x-IA5-German |
德文 (IA5) |
|
|
20107 |
x-IA5-Swedish |
瑞典文 (IA5) |
|
|
20108 |
x-IA5-Norwegian |
挪威文 (IA5) |
|
|
20127 |
us-ascii |
US-ASCII |
* |
|
20261 |
x-cp20261 |
T.61 |
|
|
20269 |
x-cp20269 |
ISO-6937 |
|
|
20273 |
IBM273 |
IBM EBCDIC (德國) |
|
|
20277 |
IBM277 |
IBM EBCDIC (丹麥-挪威) |
|
|
20278 |
IBM278 |
IBM EBCDIC (芬蘭-瑞典) |
|
|
20280 |
IBM280 |
IBM EBCDIC (義大利) |
|
|
20284 |
IBM284 |
IBM EBCDIC (西班牙) |
|
|
20285 |
IBM285 |
IBM EBCDIC (英國) |
|
|
20290 |
IBM290 |
IBM EBCDIC (日文片假名) |
|
|
20297 |
IBM297 |
IBM EBCDIC (法國) |
|
|
20420 |
IBM420 |
IBM EBCDIC (阿拉伯文) |
|
|
20423 |
IBM423 |
IBM EBCDIC (希臘文) |
|
|
20424 |
IBM424 |
IBM EBCDIC (希伯來文) |
|
|
20833 |
x-EBCDIC-KoreanExtended |
IBM EBCDIC (韓文擴充) |
|
|
20838 |
IBM-Thai |
IBM EBCDIC (泰文) |
|
|
20866 |
koi8 r |
斯拉夫文 (KOI8-R) |
|
|
20871 |
IBM871 |
IBM EBCDIC (冰島文) |
|
|
20880 |
IBM880 |
IBM EBCDIC (斯拉夫俄文) |
|
|
20905 |
IBM905 |
IBM EBCDIC (土耳其文) |
|
|
20924 |
IBM00924 |
IBM 拉丁文 1 |
|
|
20932 |
EUC-JP |
日文 (JIS 0208-1990 和 0212-1990) |
|
|
20936 |
x-cp20936 |
簡體中文 (GB2312-80) |
* |
|
20949 |
x-cp20949 |
韓文 Wansung |
* |
|
21025 |
cp1025 |
IBM EBCDIC (斯拉夫塞爾維亞文-保加利亞文) |
|
|
21866 |
koi8-u |
斯拉夫文 (KOI8-U) |
|
|
28591 |
iso-8859-1 |
西歐語系 (ISO) |
* |
|
28592 |
iso-8859-2 |
中歐語系 (ISO) |
|
|
28593 |
iso-8859-3 |
拉丁文 3 (ISO) |
|
|
28594 |
iso-8859-4 |
波羅的海文 (ISO) |
|
|
28595 |
iso-8859-5 |
斯拉夫文 (ISO) |
|
|
28596 |
iso-8859-6 |
阿拉伯文 (ISO) |
|
|
28597 |
iso-8859-7 |
希臘文 (ISO) |
|
|
28598 |
iso-8859-8 |
希伯來文 (ISO-Visual) |
* |
|
28599 |
iso-8859-9 |
土耳其文 (ISO) |
|
|
28603 |
iso-8859-13 |
愛沙尼亞文 (ISO) |
|
|
28605 |
iso-8859-15 |
拉丁文 9 (ISO) |
|
|
29001 |
x-Europa |
歐洲 |
|
|
38598 |
iso-8859-8-i |
希伯來文 (ISO-Logical) |
* |
|
50220 |
iso 2022 jp |
日文 (JIS) |
* |
|
50221 |
csISO2022JP |
日文 (JIS-允許 1 位元組片假名) |
* |
|
50222 |
iso 2022 jp |
日文 (JIS-允許 1 位元組片假名 - SO/SI) |
* |
|
50225 |
iso 2022 kr |
韓文 (ISO) |
* |
|
50227 |
x-cp50227 |
簡體中文 (ISO-2022) |
* |
|
51932 |
euc-jp |
日文 (EUC) |
* |
|
51936 |
EUC-CN |
簡體中文 (EUC) |
* |
|
51949 |
euc-kr |
韓文 (EUC) |
* |
|
52936 |
hz-gb-2312 |
簡體中文 (HZ) |
* |
|
54936 |
GB18030 |
簡體中文 (GB18030) |
* |
|
57002 |
x-iscii-de |
ISCII 梵文語系 |
* |
|
57003 |
x-iscii-be |
ISCII 孟加拉文 |
* |
|
57004 |
x-iscii-ta |
ISCII 坦米爾文 |
* |
|
57005 |
x-iscii-te |
ISCII 特拉古文 |
* |
|
57006 |
x-iscii-as |
ISCII 阿薩姆文 |
* |
|
57007 |
x-iscii-or |
ISCII 歐利亞文 |
* |
|
57008 |
x-iscii-ka |
ISCII 坎那達文 |
* |
|
57009 |
x-iscii-ma |
ISCII 馬來亞拉姆文 |
* |
|
57010 |
x-iscii-gu |
ISCII 古吉拉特文 |
* |
|
57011 |
x-iscii-pa |
ISCII 旁遮普語 |
* |
|
65000 |
utf-7 |
Unicode (UTF-7) |
* |
|
65001 |
utf-8 |
Unicode (UTF-8) |
* |
Encoder。
例如,拉丁大寫字母 A (U+0041) 會序列化如下 (使用十六進位):
-
UTF-16 位元組由大到小的位元組順序:00 41
-
UTF-16 位元組由小到大的位元組順序:41 00
-
UTF-32 位元組由大到小的位元組順序:00 00 00 41
-
UTF-32 位元組由小到大的位元組順序:41 00 00 00
例如,在位元組由小到大的平台 (如 Intel 電腦) 上,最好使用位元組由小到大位元組順序。
如果此位元組陣列有前置編碼的資料流,將有助於解碼器識別所用的編碼格式。
Unicode Home Page。
請注意,編碼類別可讓錯誤:
-
-
使用「自動調整」字元。
-
DecoderFallback 類別並搭配 U+FFFD Unicode 取代字元,變更為應用程式的特定行為。
如果是 ANSI 編碼,則自動調整行為是預設值。
下列範例會將字串從一個編碼方式轉換成另一個編碼方式。
using System; using System.Text; class Example { static void Main() { string unicodeString = "This string contains the unicode character Pi (\u03a0)"; // Create two different encodings. Encoding ascii = Encoding.ASCII; Encoding unicode = Encoding.Unicode; // Convert the string into a byte array. byte[] unicodeBytes = unicode.GetBytes(unicodeString); // Perform the conversion from one encoding to the other. byte[] asciiBytes = Encoding.Convert(unicode, ascii, unicodeBytes); // Convert the new byte[] into a char[] and then into a string. char[] asciiChars = new char[ascii.GetCharCount(asciiBytes, 0, asciiBytes.Length)]; ascii.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0); string asciiString = new string(asciiChars); // Display the strings created before and after the conversion. Console.WriteLine("Original string: {0}", unicodeString); Console.WriteLine("Ascii converted string: {0}", asciiString); } } // The example displays the following output: // Original string: This string contains the unicode character Pi (Π) // Ascii converted string: This string contains the unicode character Pi (?)