CodePage------Encoding 類支援的編碼以及與這些編碼關聯的內碼表(CodePage)

weixin_34162629發表於2016-06-21

Encoding 類

.NET Framework 4 

 

表示字元編碼。

 

名稱空間:  System.Text
程式集:  mscorlib(在 mscorlib.dll 中)

語法

 

C#
 
[SerializableAttribute]
[ComVisibleAttribute(true)]
public abstract class Encoding : ICloneable

Encoding 型別公開以下成員。

建構函式


顯示: 繼承 保護
 名稱說明
受保護的方法由 XNA Framework 提供支援 Encoding() 初始化 Encoding 類的新例項。
受保護的方法由 XNA Framework 提供支援 Encoding(Int32) 初始化對應於指定內碼表的 Encoding 類的新例項。

屬性


顯示: 繼承 保護
 名稱說明
公共屬性靜態成員由 XNA Framework 提供支援 ASCII 獲取 ASCII(7 位)字符集的編碼。
公共屬性靜態成員由 XNA Framework 提供支援 BigEndianUnicode 獲取使用 Big Endian 位元組順序的 UTF-16 格式的編碼。
公共屬性 BodyName 在派生類中重寫時,獲取可與郵件代理正文標記一起使用的當前編碼的名稱。
公共屬性由 XNA Framework 提供支援 CodePage 在派生類中重寫時,獲取當前 Encoding 的內碼表識別符號。
公共屬性 DecoderFallback 獲取或設定當前 Encoding 物件的 DecoderFallback 物件。
公共屬性靜態成員由 XNA Framework 提供支援 Default 獲取作業系統的當前 ANSI 內碼表的編碼。
公共屬性 EncoderFallback 獲取或設定當前 Encoding 物件的 EncoderFallback 物件。
公共屬性 EncodingName 在派生類中重寫時,獲取當前編碼的可讀說明。
公共屬性 HeaderName 在派生類中重寫時,獲取可與郵件代理標題標記一起使用的當前編碼的名稱。
公共屬性 IsBrowserDisplay 在派生類中重寫時,獲取一個值,該值指示瀏覽器客戶端是否可以使用當前的編碼顯示內容。
公共屬性 IsBrowserSave 在派生類中重寫時,獲取一個值,該值指示瀏覽器客戶端是否可以使用當前的編碼儲存內容。
公共屬性 IsMailNewsDisplay 在派生類中重寫時,獲取一個值,該值指示郵件和新聞客戶端是否可以使用當前的編碼顯示內容。
公共屬性 IsMailNewsSave 在派生類中重寫時,獲取一個值,該值指示郵件和新聞客戶端是否可以使用當前的編碼儲存內容。
公共屬性 IsReadOnly 在派生類中重寫時,獲取一個值,該值指示當前的編碼是否為只讀。
公共屬性 IsSingleByte 在派生類中重寫時,獲取一個值,該值指示當前的編碼是否使用單位元組碼位。
公共屬性靜態成員由 XNA Framework 提供支援 Unicode 獲取使用 Little-Endian 位元組順序的 UTF-16 格式的編碼。
公共屬性靜態成員 UTF32 獲取使用 Little-Endian 位元組順序的 UTF-32 格式的編碼。
公共屬性靜態成員由 XNA Framework 提供支援 UTF7 獲取 UTF-7 格式的編碼。
公共屬性靜態成員由 XNA Framework 提供支援 UTF8 獲取 UTF-8 格式的編碼。
公共屬性由 XNA Framework 提供支援 WebName 在派生類中重寫時,獲取在 Internet 編號分配管理機構 (IANA) 註冊的當前編碼的名稱。
公共屬性 WindowsCodePage 在派生類中重寫時,獲取與當前編碼最緊密對應的 Windows 作業系統內碼表。

方法


顯示: 繼承 保護
 名稱說明
公共方法由 XNA Framework 提供支援 Clone 當在派生類中重寫時,建立當前 Encoding 物件的一個淺表副本。
公共方法靜態成員由 XNA Framework 提供支援 Convert(Encoding, Encoding, Byte[]) 將整個位元組陣列從一種編碼轉換為另一種編碼。
公共方法靜態成員由 XNA Framework 提供支援 Convert(Encoding, Encoding, Byte[], Int32, Int32) 將位元組陣列內某個範圍的位元組從一種編碼轉換為另一種編碼。
公共方法由 XNA Framework 提供支援 Equals 確定指定的 Object 是否等於當前例項。 (重寫 Object.Equals(Object)。)
受保護的方法由 XNA Framework 提供支援 Finalize 允許物件在“垃圾回收”回收之前嘗試釋放資源並執行其他清理操作。 (繼承自 Object。)
公共方法由 XNA Framework 提供支援 GetByteCount(Char[]) 在派生類中重寫時,計算對指定字元陣列中的所有字元進行編碼所產生的位元組數。
公共方法由 XNA Framework 提供支援 GetByteCount(String) 在派生類中重寫時,計算對指定字串中的字元進行編碼所產生的位元組數。
公共方法 GetByteCount(Char*, Int32) 在派生類中重寫時,計算對一組字元(從指定的字元指標處開始)進行編碼所產生的位元組數。
公共方法由 XNA Framework 提供支援 GetByteCount(Char[], Int32, Int32) 在派生類中重寫時,計算對指定字元陣列中的一組字元進行編碼所產生的位元組數。
公共方法由 XNA Framework 提供支援 GetBytes(Char[]) 在派生類中重寫時,將指定字元陣列中的所有字元編碼為一個位元組序列。
公共方法由 XNA Framework 提供支援 GetBytes(String) 在派生類中重寫時,將指定字串中的所有字元編碼為一個位元組序列。
公共方法由 XNA Framework 提供支援 GetBytes(Char[], Int32, Int32) 在派生類中重寫時,將指定字元陣列中的一組字元編碼為一個位元組序列。
公共方法 GetBytes(Char*, Int32, Byte*, Int32) 在派生類中重寫時,將一組字元(從指定的字元指標開始)編碼為一個位元組序列,並從指定的位元組指標開始儲存該位元組序列。
公共方法由 XNA Framework 提供支援 GetBytes(Char[], Int32, Int32, Byte[], Int32) 在派生類中重寫時,將指定字元陣列中的一組字元編碼為指定的位元組陣列。
公共方法由 XNA Framework 提供支援 GetBytes(String, Int32, Int32, Byte[], Int32) 在派生類中重寫時,將指定字串中的一組字元編碼為指定的位元組陣列。
公共方法由 XNA Framework 提供支援 GetCharCount(Byte[]) 在派生類中重寫時,計算對指定位元組陣列中的所有位元組進行解碼所產生的字元數。
公共方法 GetCharCount(Byte*, Int32) 在派生類中重寫時,計算對位元組序列(從指定的位元組指標開始)進行解碼所產生的字元數。
公共方法由 XNA Framework 提供支援 GetCharCount(Byte[], Int32, Int32) 在派生類中重寫時,計算對位元組序列(從指定位元組陣列開始)進行解碼所產生的字元數。
公共方法由 XNA Framework 提供支援 GetChars(Byte[]) 在派生類中重寫時,將指定位元組陣列中的所有位元組解碼為一組字元。
公共方法由 XNA Framework 提供支援 GetChars(Byte[], Int32, Int32) 在派生類中重寫時,將指定位元組陣列中的一個位元組序列解碼為一組字元。
公共方法 GetChars(Byte*, Int32, Char*, Int32) 在派生類中重寫時,將一個位元組序列(從指定的位元組指標開始)解碼為一組字元,並從指定的字元指標開始儲存該組字元。
公共方法由 XNA Framework 提供支援 GetChars(Byte[], Int32, Int32, Char[], Int32) 在派生類中重寫時,將指定位元組陣列中的位元組序列解碼為指定的字元陣列。
公共方法由 XNA Framework 提供支援 GetDecoder 在派生類中重寫時,獲取一個解碼器,該解碼器將已編碼的位元組序列轉換為字元序列。
公共方法由 XNA Framework 提供支援 GetEncoder 在派生類中重寫時,獲取一個解碼器,該解碼器將 Unicode 字元序列轉換為已編碼的位元組序列。
公共方法靜態成員由 XNA Framework 提供支援 GetEncoding(Int32) 返回與指定內碼表識別符號關聯的編碼。
公共方法靜態成員由 XNA Framework 提供支援 GetEncoding(String) 返回與指定內碼表名稱關聯的編碼。
公共方法靜態成員 GetEncoding(Int32, EncoderFallback, DecoderFallback) 返回與指定內碼表識別符號關聯的編碼。 引數指定一個錯誤處理程式,用於處理無法編碼的字元和無法解碼的位元組序列。
公共方法靜態成員 GetEncoding(String, EncoderFallback, DecoderFallback) 返回與指定內碼表名稱關聯的編碼。 引數指定一個錯誤處理程式,用於處理無法編碼的字元和無法解碼的位元組序列。
公共方法靜態成員 GetEncodings 返回包含所有編碼的陣列。
公共方法由 XNA Framework 提供支援 GetHashCode 返回當前例項的雜湊程式碼。 (重寫 Object.GetHashCode()。)
公共方法由 XNA Framework 提供支援 GetMaxByteCount 在派生類中重寫時,計算對指定數目的字元進行編碼所產生的最大位元組數。
公共方法由 XNA Framework 提供支援 GetMaxCharCount 在派生類中重寫時,計算對指定數目的位元組進行解碼時所產生的最大字元數。
公共方法由 XNA Framework 提供支援 GetPreamble 在派生類中重寫時,返回指定所用編碼的位元組序列。
公共方法 GetString(Byte[]) 在派生類中重寫時,將指定位元組陣列中的所有位元組解碼為一個字串。
公共方法由 XNA Framework 提供支援 GetString(Byte[], Int32, Int32) 在派生類中重寫時,將指定位元組陣列中的一個位元組序列解碼為一個字串。
公共方法由 XNA Framework 提供支援 GetType 獲取當前例項的 Type。 (繼承自 Object。)
公共方法 IsAlwaysNormalized() 使用預設正規化獲取一個值,該值指示當前編碼是否始終被規範化。
公共方法 IsAlwaysNormalized(NormalizationForm) 在派生類中重寫時,使用指定正規化獲取一個值,該值指示當前編碼是否始終被規範化。
受保護的方法由 XNA Framework 提供支援 MemberwiseClone 建立當前 Object 的淺表副本。 (繼承自 Object。)
公共方法由 XNA Framework 提供支援 ToString 返回表示當前物件的字串。 (繼承自 Object。)

備註


編碼是一個將一組 Unicode 字元轉換為一個位元組序列的過程。 而解碼是將一個編碼位元組序列轉換為一組 Unicode 字元的過程。 有關 Encoding 所支援的 Unicode 轉換格式 (UTF) 和其他編碼的資訊,請參見.NET Framework 中的字元編碼

請注意,Encoding 用於對 Unicode 字元進行操作,而不是對任意二進位制資料(如位元組陣列)進行操作。 如果您的應用程式必須將任意二進位制資料編碼為文字,則該應用程式應使用由 Convert.ToBase64CharArray 之類的方法實現的協議(如 uuencode)。

.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 字元進行編碼。 它支援 Little Endian 和 Big Endian 位元組順序。 還可通過 Unicode 屬性和 BigEndianUnicode 屬性獲得。

  • UTF32Encoding 使用 UTF-32 編碼對 Unicode 字元進行編碼。 支援 Little-Endian(內碼表 12000)和 Big-Endian(內碼表 12001)位元組順序。 還可通過 UTF32 屬性獲得。

Encoding 類主要用於在不同的編碼和 Unicode 之間進行轉換。 通常,對於您的應用程式來說,某個派生的 Unicode 類是不錯的選擇。

您的應用程式使用 GetEncoding 方法來獲得其他編碼。 它們應使用 GetEncodings 方法來獲得所有編碼的列表。

下表列出了受支援的編碼以及與這些編碼關聯的內碼表。 最後一列中的星號指示 .NET Framework 本身即支援該內碼表,而不需考慮基礎平臺。

 

內碼表

Name

顯示名稱

 

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 (Big-Endian)

*

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

朝鮮語 (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 Big-Endian)

*

20000

x-Chinese-CNS

繁體中文 (CNS)

 

20001

x-cp20001

TCA 臺灣

 

20002

x-Chinese-Eten

繁體中文 (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)

*

如果要轉換的資料僅存在於連續塊(如從流中讀取的資料)中,或者如果資料量很大,需要劃分為較小的塊,則應用程式應當使用由某個派生類的 GetDecoder 方法提供的 Decoder 或由該派生類的 GetEncoder 方法提供的 Encoder

UTF-16 和 UTF-32 編碼器可以使用 Big-Endian 位元組順序(從最高有效位元組開始),也可以使用 Little-Endian 位元組順序(從最低有效位元組開始)。 例如,大寫拉丁字母 A (U+0041) 的序列化結果(十六進位制)如下所示:

  • UTF-16 Big-Endian 位元組順序:00 41

  • UTF-16 Little-Endian 位元組順序:41 00

  • UTF-32 Big-Endian 位元組順序:00 00 00 41

  • UTF-32 Little-Endian 位元組順序:41 00 00 00

通常,使用本機位元組順序儲存 Unicode 字元的效率更高。 例如,在 Little-endian 平臺(如 Intel 計算機)上最好使用 Little-endian 位元組順序。

GetPreamble 方法檢索一個包括位元組順序標記 (BOM) 的位元組陣列。 如果將此位元組陣列作為編碼流的字首,將有助於解碼器識別所用的編碼格式。

有關位元組順序和位元組順序標記的更多資訊,請參見位於 Unicode home page(Unicode 主頁)上的“The Unicode Standard”(Unicode 標準)。

請注意,編碼類允許錯誤進行如下更改:

  • 在不提示的情況下更改為“?”字元。

  • 使用“最佳匹配”字元。

  • 通過將 EncoderFallbackDecoderFallback 類與 U+FFFD Unicode 替換字元結合使用來更改為特定於應用程式的行為。

建議讓您的應用程式針對所有的資料流錯誤引發異常。 應用程式要麼在適用時使用“throwonerror”標誌,要麼使用 EncoderExceptionFallbackDecoderExceptionFallback 類。 通常不建議使用最佳匹配回退,因為它可能會導致資料丟失或發生衝突,而且比簡單字元替換慢。 對於 ANSI 編碼,最佳匹配行為是預設行為。

示例


下面的示例將字串從一種編碼轉換為另一種編碼。
注意注意

byte[] 陣列在此示例中是唯一包含編碼資料的型別。 .NET Char 和字串型別是本身 Unicode,因此 GetChars 呼叫將資料再解碼為 Unicode。

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 (?) 
 

相關文章