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 位元組順序標記,則為包含 Unicode 位元組順序標記的位元組範圍;否則為預設範圍。

備註

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

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

  • 位元組順序由小到大: FF FE 00 00

您可以透過下列方式具現化 UTF32Encoding 其屬性為有效 BOM 的物件 Preamble

建議您使用 BOM,因為它為檔案提供幾乎特定編碼的識別,這些檔案會遺失物件的參考 UTF32Encoding ,例如未標記或未正確標記的 Web 資料,或當企業沒有國際疑慮或其他資料時儲存的隨機文字檔。 通常,如果資料一致且已正確標記,可能會避免使用者問題。

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

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

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

重要

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

適用於