Encoding.Preamble 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在衍生類別中覆寫時,傳回範圍,其包含指定所用編碼方式的位元組序列。
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 編碼,也就是 、 UTF8Encoding 、 UnicodeEncoding 或 UTF32Encoding ,搭配前置。