Encoding.Preamble 屬性

定義

在衍生類別中覆寫時,傳回範圍,其包含指定所用編碼方式的位元組序列。

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

屬性值

位元組範圍,其包含指定所用編碼方式的位元組序列,或長度為零的範圍 (若不需要前序的話)。

備註

或者, Encoding 物件會提供前置詞,這是一連串的位元組,可前置詞到編碼程式所產生的位元組。 如果前置詞包含 Unicode 中的位元組順序標記 (,則代碼點 U+FEFF) ,可協助解碼器判斷位元組順序和轉換格式或 UTF。

Unicode 位元組順序標記 (BOM) 序列化,如下所示,以十六進位) (:

  • UTF-8:EF BB BF

  • UTF-16 大位元組順序:FE FF

  • UTF-16 小位元組順序:FF FE

  • UTF-32 大位元組位元組順序:00 00 FE FF

  • UTF-32 小位元組順序:FF FE 00 00

您應該使用 BOM,因為它會提供對物件遺失參考 Encoding 之檔案的編碼方式,例如,當企業沒有國際考慮或其他資料時,未標記或未正確標記的 Web 資料或隨機文字檔。 如果資料一致且正確標記,最好在 UTF-8 或 UTF-16 中避免使用者問題。

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

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

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

警告

若要確保編碼的位元組正確解碼,您應該使用前置詞來前置編碼的位元組。 不過,大部分編碼不會提供前置詞。 若要確保編碼的位元組正確解碼,您應該使用 Unicode 編碼,也就是 、 UTF8EncodingUnicodeEncodingUTF32Encoding ,搭配前置。

適用於