Encoding 类别
Encoding 類別
表示字元編碼方式。
| 名稱 | 說明 | |
|---|---|---|
![]() ![]() ![]() ![]() |
Encoding() | 初始化 Encoding 類別的新執行個體。 |
![]() ![]() |
Encoding(Int32) | 初始化對應到指定字碼頁之 Encoding 類別的新執行個體。 |
| 名稱 | 說明 | |
|---|---|---|
![]() ![]() ![]() |
ASCII | 取得 ASCII (7 位元) 字元集 (Character Set) 的編碼方式。 |
![]() ![]() ![]() ![]() ![]() |
BigEndianUnicode | 取得 UTF-16 格式的編碼方式,其使用由大到小的位元組順序。 |
![]() |
BodyName | 在衍生類別中覆寫時,取得可以與郵件代理程式主體標籤一起使用的目前編碼方式名稱。 |
![]() ![]() |
CodePage | 在衍生類別中覆寫時,取得目前 Encoding 的字碼頁識別項。 |
![]() |
DecoderFallback | 取得或設定目前 Encoding 物件的 DecoderFallback 物件。 |
![]() ![]() ![]() |
Default | 取得作業系統目前 ANSI 字碼頁的編碼方式。 |
![]() |
EncoderFallback | 取得或設定目前 Encoding 物件的 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 和目前的執行個體是否相等。 (覆寫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 | 取得目前執行個體的 Type。 (繼承自 Object)。 |
![]() |
IsAlwaysNormalized() | 取得值,指出目前的編碼方式是否永遠都是使用預設的正規化表單進行正規化。 |
![]() |
IsAlwaysNormalized(NormalizationForm) | 在衍生類別中覆寫時取得值,指出目前的編碼方式是否永遠都是使用指定的正規化表單進行正規化。 |
![]() ![]() ![]() ![]() |
MemberwiseClone | 建立目前 Object 的淺層複本 (Shallow Copy)。 (繼承自 Object)。 |
![]() ![]() ![]() ![]() |
ToString | 傳回表示目前物件的字串。 (繼承自 Object)。 |
編碼是將一組 Unicode 字元轉換成位元組序列的處理程序。 相反地,解碼則是將已編碼的位元組序列轉換成一組 Unicode 字元的處理程序。 如需 Unicode Transformation Format (UTF) 和Encoding 所支援之其他編碼的詳細資訊,請參閱.NET Framework 中的字元編碼方式。
請注意,Encoding 主要是處理 Unicode 字元,而不是任意的二進位資料,例如位元組陣列。如果您的應用程式必須將任意二進位資料編碼成文字,應該使用諸如 uuencode 的通訊協定;該通訊協定是由 Convert.ToBase64CharArray 之類的方法所實作。
.NET Framework 提供下列 Encoding 類別實作來支援目前的 Unicode 編碼方式和其他編碼方式:
ASCIIEncoding 可編碼 Unicode 字元成單一 7 位元 ASCII 字元。 這種編碼方式只支援 U+0000 和 U+007F 之間的字元值。 字碼頁 20127。 也可透過 ASCII 屬性取得。
UTF7Encoding 會使用 UTF-7 編碼方式為 Unicode 字元編碼。 這種編碼方式支援所有的 Unicode 字元值。 字碼頁 65000。 也可透過 UTF7 屬性取得。
UTF8Encoding 會使用 UTF-8 編碼方式為 Unicode 字元編碼。 這種編碼方式支援所有的 Unicode 字元值。 字碼頁 65001。 也可透過 UTF8 屬性取得。
UnicodeEncoding 會使用 UTF-16 編碼方式為 Unicode 字元編碼。 同時支援由小到大和由大到小的位元組順序。 也可透過 Unicode 屬性和 BigEndianUnicode 屬性取得。
UTF32Encoding 會使用 UTF-32 編碼方式為 Unicode 字元編碼。 同時支援位元組由小到大 (字碼頁 12000) 和位元組由大到小 (字碼頁 12001) 的位元組順序。 也可透過 UTF32 屬性取得。
Encoding 類別主要用於在不同的編碼與 Unicode 之間轉換。 通常,一個衍生的 Unicode 類別就是適合應用程式的正確選擇。
您的應用程式會使用 GetEncoding 方法取得其他編碼方式。 它們應該會使用 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) |
* |
如果要轉換的資料只可以從循序區塊取得 (例如從資料流讀取的資料) 時,或資料量太大而必須分成較小區塊時,您的應用程式應該使用衍生類別 (Derived Class) 的 GetDecoder 方法或GetEncoder 方法提供的 Decoder 或 Encoder。
UTF-16 和 UTF-32 編碼器可以使用位元組由大到小的位元組順序 (最大顯著性位元組在前) 或位元組由小到大的位元組順序 (最小顯著性位元組在前)。 例如,拉丁大寫字母 A (U+0041) 會序列化如下 (使用十六進位):
UTF-16 位元組由大到小的位元組順序:00 41
UTF-16 位元組由小到大的位元組順序:41 00
UTF-32 位元組由大到小的位元組順序:00 00 00 41
UTF-32 位元組由小到大的位元組順序:41 00 00 00
使用原生的位元組順序來儲存 Unicode 字元,通常會更有效率。 例如,在位元組由小到大的平台 (如 Intel 電腦) 上,最好使用位元組由小到大位元組順序。
GetPreamble 方法會擷取包含位元組順序標記 (BOM) 的位元組陣列。 如果此位元組陣列有前置編碼的資料流,將有助於解碼器識別所用的編碼格式。
如需位元組順序和位元組順序標記的詳細資訊,請參閱以下網頁中的 Unicode 標準:Unicode Home Page。
請注意,編碼類別可讓錯誤:
以無訊息模式變更為 "?" 字元。
使用「自動調整」字元。
透過使用 EncoderFallback 和 DecoderFallback 類別並搭配 U+FFFD Unicode 取代字元,變更為應用程式的特定行為。
建議您的應用程式在所有資料流錯誤上擲回例外狀況。 應用程式會在適當時使用 "throwonerror" 旗標,或使用 EncoderExceptionFallback 和 DecoderExceptionFallback 類別。通常不建議使用自動調整後援,因為這常會導致資料遺失或混淆,而且速度比簡單的字元取代更慢。 如果是 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 (?)
Encoding 类别的更多相关文章
- Pandas将中文数据集转换为数值类别型数据集
一个机器学习竞赛中,题目大意如下,本文主要记录数据处理过程,为了模型训练,第一步需要将中文数据集处理为数值类别数据集保存. 基于大数据的运营商投诉与故障关联分析 目标:原始数据集是含大量中文的xls格 ...
- 【转】数据预处理之独热编码(One-Hot Encoding)
原文链接:http://blog.csdn.net/dulingtingzi/article/details/51374487 问题由来 在很多机器学习任务中,特征并不总是连续值,而有可能是分类值. ...
- Fisher Vector Encoding and Gaussian Mixture Model
一.背景知识 1. Discriminant Learning Algorithms(判别式方法) and Generative Learning Algorithms(生成式方法) 现在常见的模式 ...
- Struts2学习笔记NO.1------结合Hibernate完成查询商品类别简单案例(工具IDEA)
Struts2学习笔记一结合Hibernate完成查询商品类别简单案例(工具IDEA) 1.jar包准备 Hibernate+Struts2 jar包 struts的jar比较多,可以从Struts官 ...
- 高数量类别特征(high-cardinality categorical attributes)的预处理方法
high-cardinality categorical attributes,从字面上理解,即对于某个category特征,不同值的数量非常多,这里暂且把它叫做高数量类别属性.反之,即低数量类别属性 ...
- Label Encoding vs One Hot Encoding
最近在刷kaggle的时候碰到了两种处理类别型特征的方法:label encoding和one hot encoding.我从stackexchange, quora等网上搜索了相关的问题,总结如下. ...
- 数据预处理:独热编码(One-Hot Encoding)
python机器学习-sklearn挖掘乳腺癌细胞( 博主亲自录制) 网易云观看地址 https://study.163.com/course/introduction.htm?courseId=10 ...
- 数据预处理:独热编码(One-Hot Encoding)和 LabelEncoder标签编码
一.问题由来 在很多机器学习任务中,特征并不总是连续值,而有可能是分类值. 离散特征的编码分为两种情况: 1.离散特征的取值之间没有大小的意义,比如color:[red,blue],那么就使用one- ...
- 131.003 数据预处理之Dummy Variable & One-Hot Encoding
@(131 - Machine Learning | 机器学习) Demo 直观来说就是有多少个状态就有多少比特,而且只有一个比特为1,其他全为0的一种码制 {sex:{male, female}} ...
随机推荐
- Python数据类型转换
Python数据类型之间的转换 函数 描述 int(x [,base]) 将x转换为一个整数 long(x [,base] ) 将x转换为一个长整数 float(x) 将x转换到一个浮点数 compl ...
- 在JBoss中部署GeoServer
GeoServer一直就不能在 JBoss应用服务器中正常部署.最近我在一个国外的论坛上找到了该问题的解决方案.以下方法经测试,可以将GeoServer 2.1.3 成功部署在 JBoss 5.0 和 ...
- 史上比较用心的纯代码实现 AutoLayout
入职有两三个月了吧,都是使用 Objective-C 纯代码(虽然有时候偷偷参杂一些 Swift 开源库)来编写公司APP,写布局的时候几乎都是要么在初始化的时候用 initWithFrame,要么就 ...
- Keepalived+Nginx+Tomcat配置高可用负载均衡系统示例
前言 此示例为keepalived+nginx+tomcat的基础配置示例,某些特定配置此例中不会出现,在示例中会用到三个虚拟机:两个纯命令行用于模拟服务端配置,一个带桌面环境的用于模拟客户端访问,这 ...
- [转] Putty - 文件夹显示的蓝色太暗
Putty SSH key的后缀为ppk 默认文件夹的颜色显示为ANSI Blue,颜色太暗. ANSI Blue : RGB(0, 0, 187) 将ANSI Blue修改为和ANSI Blue B ...
- Android ListView实现仿iPhone实现左滑删除按钮
需要自定义ListView.这里就交FloatDelListView吧. 复写onTouchEvent方法.如下: @Override public boolean onTouchEvent(Moti ...
- redis安装与使用
linux: 1.下载redis 下载redis: 可以在redis的官网下载 : http://redis.io/ 也可以去谷歌的code下载: http://code.google.com/p/r ...
- Eclipse将项目部署tomcat的webapps目录
Eclipse将项目部署tomcat的webapps目录 >>>>>>>>>>>>>>>>>& ...
- adb shell dumpsys package 查看versionCode
adb shell dumpsys package +包名 输出可以查看包名 aapt dump xmltree xxx.apk AndroidManifest.xml 查看AndroidManife ...
- Set集合中的HashSet集合
HashSet集合的特点:元素是具备唯一性的,每次存储都要先算出哈希值,看有没相同,没有相同的存储到相应的位置,如果相同则再判断存储进来的值是否与被比较的相同,如果相同,则不再存储,不同就存储 pac ...






