UTF32Encoding.Preamble 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
如果這個物件設定為提供一個,則取得以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+0000
U+FEFF
)前置編碼位元組序列,可協助譯碼器判斷位元組順序和轉換格式,或 UTF。 Unicode 位元組順序標記 (BOM) 會串行化如下(以十六進位為單位):
大位元組位元組順序:
00 00 FE FF
小到位位元節順序:
FF FE 00 00
您可以具現化 UTF32Encoding 物件,其 Preamble 屬性是有效的 BOM,其方式如下:
擷取 Encoding.UTF32 屬性所傳回 UTF32Encoding 物件。
藉由呼叫無參數 UTF32Encoding() 建構函式來具現化 UTF32Encoding 物件。
藉由提供
true
做為 UTF32Encoding 和 UTF32Encoding 建構函式byteOrderMark
自變數的值。
我們建議您使用 BOM,因為它提供幾乎確定檔案的編碼方式,否則會遺失 UTF32Encoding 對象的參考,例如未標記或未正確標記的 Web 數據,或當企業沒有國際關注或其他數據時所儲存的隨機文本檔。 通常,如果數據一致且已正確標記,可能會避免用戶問題。
對於提供編碼類型的標準,BOM 有點重複。 不過,它可以用來協助伺服器傳送正確的編碼標頭。 或者,當編碼遺失時,它可以當做後援使用。
使用 BOM 有一些缺點。 例如,瞭解如何限制使用 BOM 的資料庫欄位可能會很困難。 檔案串連也可能是問題,例如,當檔案合併時,不必要字元最終可能會出現在數據中間。 不過,儘管少數缺點,但強烈建議使用 BOM。
如需位元組順序和位元組順序標記的詳細資訊,請參閱 Unicode 首頁的 Unicode 標準。
重要
若要確保編碼的位元組已正確譯碼,您應該在編碼的位元組前面加上前置詞。 請注意,GetBytes 方法不會在編碼位元節序列前面加上 BOM;在適當的位元組數據流開頭提供 BOM 是開發人員的責任。