共用方式為


UTF32Encoding.Preamble 屬性

定義

如果這個物件設定為提供一個,則取得以UTF-32格式編碼的Unicode位元組順序標記。

public:
 virtual property ReadOnlySpan<System::Byte> Preamble { ReadOnlySpan<System::Byte> get(); };
public override ReadOnlySpan<byte> Preamble { get; }
member this.Preamble : ReadOnlySpan<byte>
Public Overrides ReadOnly Property Preamble As ReadOnlySpan(Of Byte)

屬性值

如果這個物件設定為提供位元組,則為包含 Unicode 位元組順序標記的位元組範圍;否則為預設範圍。

備註

UTF32Encoding 物件可以提供前置詞,這是一個字節範圍,其前置詞可加上編碼程式所產生的位元組序列。 使用位元組順序標記(代碼點 U+0000U+FEFF)前置編碼位元組序列,可協助譯碼器判斷位元組順序和轉換格式,或 UTF。 Unicode 位元組順序標記 (BOM) 會串行化如下(以十六進位為單位):

  • 大位元組位元組順序:00 00 FE FF

  • 小到位位元節順序:FF FE 00 00

您可以具現化 UTF32Encoding 物件,其 Preamble 屬性是有效的 BOM,其方式如下:

我們建議您使用 BOM,因為它提供幾乎確定檔案的編碼方式,否則會遺失 UTF32Encoding 對象的參考,例如未標記或未正確標記的 Web 數據,或當企業沒有國際關注或其他數據時所儲存的隨機文本檔。 通常,如果數據一致且已正確標記,可能會避免用戶問題。

對於提供編碼類型的標準,BOM 有點重複。 不過,它可以用來協助伺服器傳送正確的編碼標頭。 或者,當編碼遺失時,它可以當做後援使用。

使用 BOM 有一些缺點。 例如,瞭解如何限制使用 BOM 的資料庫欄位可能會很困難。 檔案串連也可能是問題,例如,當檔案合併時,不必要字元最終可能會出現在數據中間。 不過,儘管少數缺點,但強烈建議使用 BOM。

如需位元組順序和位元組順序標記的詳細資訊,請參閱 Unicode 首頁的 Unicode 標準

重要

若要確保編碼的位元組已正確譯碼,您應該在編碼的位元組前面加上前置詞。 請注意,GetBytes 方法不會在編碼位元節序列前面加上 BOM;在適當的位元組數據流開頭提供 BOM 是開發人員的責任。

適用於