UTF8Encoding 類別(System.Text) - Microsoft Learn

文章推薦指數: 80 %
投票人數:10人

下列範例會使用UTF8Encoding 物件來編碼Unicode 字元的字串,並將其儲存在位元組陣列中。

Unicode 字串包含兩個字元:Pi (U+03A0) 和Sigma (U+03A3) ,這些字元 ... 跳到主要內容 已不再支援此瀏覽器。

請升級至MicrosoftEdge,以利用最新功能、安全性更新和技術支援。

下載MicrosoftEdge InternetExplorer和MicrosoftEdge的詳細資訊 目錄 結束焦點模式 語言 閱讀英文 儲存 目錄 閱讀英文 儲存 編輯 Twitter LinkedIn Facebook 電子郵件 目錄 UTF8Encoding類別 參考 定義 命名空間: System.Text 組件:System.Text.Encoding.Extensions.dll 組件:mscorlib.dll 組件:netstandard.dll 重要 部分資訊涉及發行前產品,在發行之前可能會有大幅修改。

Microsoft對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。

代表Unicode字元的UTF-8編碼方式。

本文內容 publicrefclassUTF8Encoding:System::Text::Encoding publicclassUTF8Encoding:System.Text.Encoding [System.Serializable] publicclassUTF8Encoding:System.Text.Encoding [System.Serializable] [System.Runtime.InteropServices.ComVisible(true)] publicclassUTF8Encoding:System.Text.Encoding typeUTF8Encoding=class inheritEncoding [] typeUTF8Encoding=class inheritEncoding [] [] typeUTF8Encoding=class inheritEncoding PublicClassUTF8Encoding InheritsEncoding 繼承 Object Encoding UTF8Encoding 屬性 SerializableAttribute ComVisibleAttribute 範例 下列範例會使用UTF8Encoding物件來編碼Unicode字元的字串,並將其儲存在位元組陣列中。

Unicode字串包含兩個字元:Pi(U+03A0)和Sigma(U+03A3),這些字元超出ASCII字元範圍。

當編碼的位元組陣列解碼回字串時,Pi和Sigma字元仍然存在。

usingnamespaceSystem; usingnamespaceSystem::Text; //usingnamespaceSystem::Collections; intmain() { //CreateaUTF-8encoding. UTF8Encoding^utf8=gcnewUTF8Encoding; //AUnicodestringwithtwocharactersoutsidean8-bitcoderange. String^unicodeString=L"ThisUnicodestringhas2characters"+ L"outsidetheASCIIrange:\n"+ L"Pi(\u03a0),andSigma(\u03a3)."; Console::WriteLine("Originalstring:"); Console::WriteLine(unicodeString); //Encodethestring. array^encodedBytes=utf8->GetBytes(unicodeString); Console::WriteLine(); Console::WriteLine("Encodedbytes:"); for(intctr=0;ctrLength;ctr++){ Console::Write("{0:X2}",encodedBytes[ctr]); if((ctr+1)%25==0) Console::WriteLine(); } Console::WriteLine(); //Decodebytesbacktostring. String^decodedString=utf8->GetString(encodedBytes); Console::WriteLine(); Console::WriteLine("Decodedbytes:"); Console::WriteLine(decodedString); } //Theexampledisplaysthefollowingoutput: //Originalstring: //ThisUnicodestringhas2charactersoutsidetheASCIIrange: //Pi(π),andSigma(Σ). // //Encodedbytes: //5468697320556E69636F646520737472696E67206861732032 //2063686172616374657273206F757473696465207468652041 //534349492072616E67653A200D0A50692028CEA0292C20616E //64205369676D612028CEA3292E // //Decodedbytes: //ThisUnicodestringhas2charactersoutsidetheASCIIrange: //Pi(π),andSigma(Σ). usingSystem; usingSystem.Text; classExample { publicstaticvoidMain() { //CreateaUTF-8encoding. UTF8Encodingutf8=newUTF8Encoding(); //AUnicodestringwithtwocharactersoutsidean8-bitcoderange. StringunicodeString= "ThisUnicodestringhas2charactersoutsidethe"+ "ASCIIrange:\n"+ "Pi(\u03a0),andSigma(\u03a3)."; Console.WriteLine("Originalstring:"); Console.WriteLine(unicodeString); //Encodethestring. Byte[]encodedBytes=utf8.GetBytes(unicodeString); Console.WriteLine(); Console.WriteLine("Encodedbytes:"); for(intctr=0;ctr) 計算將指定字元範圍編碼所產生的位元組數目。

GetByteCount(ReadOnlySpan) 在衍生類別中覆寫時,計算藉由編碼指定字元範圍中字元所產生的位元組數。

(繼承來源Encoding) GetByteCount(String) 計算將指定String中的字元編碼所產生的位元組數目。

GetByteCount(String,Int32,Int32) 在衍生類別中覆寫時,計算藉由從指定的字串編碼一組字元所產生的位元組數。

(繼承來源Encoding) GetBytes(Char*,Int32,Byte*,Int32) 將起始於指定字元指標的一組字元編碼成位元組序列;儲存該位元組序列時,係以指定的位元組指標為起始點。

GetBytes(Char*,Int32,Byte*,Int32) 在衍生類別中覆寫時,從指定字元指標開始將一組字元編碼成位元組序列(會從指定的位元組指標開始存放這些位元組)。

(繼承來源Encoding) GetBytes(Char[]) 在衍生類別中覆寫時,將指定字元陣列中的所有字元編碼成位元組序列。

(繼承來源Encoding) GetBytes(Char[],Int32,Int32) 在衍生類別中覆寫時,將指定字元陣列中的一組字元編碼成位元組序列。

(繼承來源Encoding) GetBytes(Char[],Int32,Int32,Byte[],Int32) 將指定字元陣列中的一組字元編碼成指定的位元組陣列。

GetBytes(ReadOnlySpan,Span) 將指定的字元範圍編碼為指定的位元組範圍。

GetBytes(ReadOnlySpan,Span) 在衍生類別中覆寫時,從指定的唯讀範圍將一組字元編碼到位元組範圍。

(繼承來源Encoding) GetBytes(String) 將指定String物件中的字元編碼成位元組序列。

GetBytes(String) 在衍生類別中覆寫時,將指定字串中的所有字元編碼成位元組序列。

(繼承來源Encoding) GetBytes(String,Int32,Int32) 在衍生類別中覆寫時,從指定字串中指定的index開始,將count指定的字元數編碼到位元組陣列。

(繼承來源Encoding) GetBytes(String,Int32,Int32,Byte[],Int32) 將指定String中的一組字元編碼成指定的位元組陣列。

GetCharCount(Byte*,Int32) 計算將起始於指定位元組指標的位元組序列解碼所產生的字元數。

GetCharCount(Byte*,Int32) 在衍生類別中覆寫時,計算從指定的位元組指標開始,解碼位元組序列所產生的字元數目。

(繼承來源Encoding) GetCharCount(Byte[]) 在衍生類別中覆寫時,計算解碼指定位元組陣列中所有位元組所產生的字元數目。

(繼承來源Encoding) GetCharCount(Byte[],Int32,Int32) 計算將指定位元組陣列中的位元組序列解碼所產生的字元數。

GetCharCount(ReadOnlySpan) 計算解碼指定位元組範圍所產生的字元數目。

GetCharCount(ReadOnlySpan) 在衍生類別中覆寫時,計算藉由解碼所提供唯讀位元組範圍時產生的字元數。

(繼承來源Encoding) GetChars(Byte*,Int32,Char*,Int32) 將起始於指定位元組指標的位元組序列解碼成一組字元;儲存該組字元時,係以指定的字元指標為起始點。

GetChars(Byte*,Int32,Char*,Int32) 在衍生類別中覆寫時,從指定位元組指標開始將位元組序列解碼成一組字元(會從指定的字元指標開始存放這些字元)。

(繼承來源Encoding) GetChars(Byte[]) 在衍生類別中覆寫時,將指定位元組陣列中的所有位元組解碼成一組字元。

(繼承來源Encoding) GetChars(Byte[],Int32,Int32) 在衍生類別中覆寫時,將指定位元組陣列中的位元組序列解碼成一組字元。

(繼承來源Encoding) GetChars(Byte[],Int32,Int32,Char[],Int32) 將指定位元組陣列中的位元組序列解碼成指定的字元陣列。

GetChars(ReadOnlySpan,Span) 將指定的位元組範圍解碼為指定的字元範圍。

GetChars(ReadOnlySpan,Span) 在衍生類別中覆寫時,將指定唯讀位元組範圍中的所有位元組解碼成字元範圍。

(繼承來源Encoding) GetDecoder() 取得可以將以UTF-8編碼的位元組序列轉換成Unicode字元序列的解碼器。

GetEncoder() 取得可以將Unicode字元序列轉換成以UTF-8編碼的位元組序列的編碼器。

GetHashCode() 傳回目前執行個體的雜湊碼。

GetMaxByteCount(Int32) 計算將指定數目的字元編碼所產生的最大位元組數目。

GetMaxCharCount(Int32) 計算將指定數目的位元組解碼所產生的最大字元數。

GetPreamble() 如果設定UTF8Encoding編碼物件提供編碼方式,則會傳回以UTF-8格式編碼的Unicode位元組順序標記。

GetString(Byte*,Int32) 在衍生類別中覆寫時,將指定位址開頭之指定數目的位元組解碼為字串。

(繼承來源Encoding) GetString(Byte[]) 在衍生類別中覆寫時,將指定位元組陣列中的所有位元組解碼成字串。

(繼承來源Encoding) GetString(Byte[],Int32,Int32) 將位元組陣列中的某一段位元組範圍解碼成字串。

GetString(Byte[],Int32,Int32) 在衍生類別中覆寫時,將指定位元組陣列中的位元組序列解碼成字串。

(繼承來源Encoding) GetString(ReadOnlySpan) 在衍生類別中覆寫時,將指定位元組範圍中的所有位元組解碼成字串。

(繼承來源Encoding) GetType() 取得目前執行個體的Type。

(繼承來源Object) IsAlwaysNormalized() 取得值,指出目前的編碼方式是否永遠都是使用預設的正規化表單進行正規化。

(繼承來源Encoding) IsAlwaysNormalized(NormalizationForm) 在衍生類別中覆寫時取得值,指出目前的編碼方式是否永遠都是使用指定的正規化表單進行正規化。

(繼承來源Encoding) MemberwiseClone() 建立目前Object的淺層複製。

(繼承來源Object) ToString() 傳回代表目前物件的字串。

(繼承來源Object) 擴充方法 GetBytes(Encoding,ReadOnlySequence) 使用指定的Encoding,將指定的ReadOnlySequence編碼為Byte陣列。

GetBytes(Encoding,ReadOnlySequence,IBufferWriter) 使用指定的Encoding,將指定的ReadOnlySequence解碼為byte,並將結果寫入到writer。

GetBytes(Encoding,ReadOnlySequence,Span) 使用指定的Encoding,將指定的ReadOnlySequence編碼為byte,並將結果輸出到bytes。

GetBytes(Encoding,ReadOnlySpan,IBufferWriter) 使用指定的Encoding,將指定的ReadOnlySpan編碼為byte,並將結果寫入到writer。

GetChars(Encoding,ReadOnlySequence,IBufferWriter) 使用指定的Encoding,將指定的ReadOnlySequence解碼為char,並將結果寫入到writer。

GetChars(Encoding,ReadOnlySequence,Span) 使用指定的Encoding,將指定的ReadOnlySequence解碼為char,並將結果輸出至chars。

GetChars(Encoding,ReadOnlySpan,IBufferWriter) 使用指定的Encoding,將指定的ReadOnlySpan解碼為char,並將結果寫入到writer。

GetString(Encoding,ReadOnlySequence) 使用指定的Encoding,將指定的ReadOnlySequence解碼為String。

適用於 另請參閱 Decoder Encoder 瞭解編碼 本文內容



請為這篇文章評分?