位元組順序記號

位元組順序記號 ( BOM ） 是位於碼點U + FEFF的統一碼字符的名稱 。 當以UTF - 16或UTF - 32來將UCS / 統一碼字符所組成的字串編碼時 ， 這個字符被用來標示其位元組序 。 它常被用來當做標示文件是以UTF - 8 、 UTF - 16或UTF - 32編碼的記號 。 位元組順序記號通常有幾種涵義 ： 在16位元和32位元的情況下 ， 文字流的位元組順序 。 表示文字流非常有可能是Unicode編碼 。 使用的是哪一種Unicode字元編碼 。 位元組順序記號的使用是選擇性的 。 它的存在會干擾那些不希望檔案開頭出現非ASCII字元 、 但可以用其他方式處理文字流的軟體對於UTF - 8的使用 。 Unicode可以以8位元 、 16位元或32位元整數爲單位進行編碼 。 對於16位元和32位元的表示方法 ， 從任意來源接收文本的電腦需要知道整數是以何種位元組順序編碼的 。 位元組順序記號的編碼方式與文件檔案的其他部分相同 ， 如果它的位元組被調換 ， 就會變成一個非字元的Unicode碼位 。 因此 ， 訪問文本的過程中 ， 可以透過檢查這頭幾個位元組來確定位元組順序 ， 而不需要文字流本身以外的一些約定或元資料 。 一般來說 ， 如果有必要 ， 接收資料的電腦會將位元組換成自己的位元組順序 ， 不再需要位元組順序記號進行處理 。 每個Unicode編碼 （ 包括Unicode標準以外的編碼 ， 如UTF - 7 ， 見下表 ） 的BOM位元組序列都不一樣 ， 而且這些序列都不可能出現在以其他編碼儲存的文字流的開頭 。 因此 ， 在文字流的開頭放置一個編碼的BOM ， 可以表明文本是Unicode ， 並識別所使用的編碼方案 。 這種對BOM字元的使用被稱爲 「 Unicode簽名 」 。