1. 程式人生 > >VS 無簽名UTF-8和帶簽名UTF-8格式

VS 無簽名UTF-8和帶簽名UTF-8格式

在VS中,使用高階儲存選項功能的時候,我們會發現UTF8有兩種格式,一個是帶簽名的UTF8,一個是無簽名的UTF8。那麼這兩種的格式有什麼區別呢?

帶簽名的UTF8:

帶簽名的UTF8,是在生成的檔案中,在檔案的開頭使用UTF8標誌。

無簽名的UTF8:

相反,無簽名的UTF8是在儲存的時候,不再檔案頭部寫入檔案的編碼格式。

 

當有簽名的UTF-8編碼內容被解析器解析時,解析器直接根據簽名即可判斷出使用UTF-8編碼來進行解析,當無簽名時,解析器會根據內容的編碼來進行判別。所以,有簽名的將更容易被解析器以正確的編碼方式進行解析。

有簽名也就是帶 BOM 資訊,無簽名就是不帶 BOM。BOM,即 Byte Order Mark,也即位元組流標記,它是用來讓應用程式識別所用的編碼的。UTF-8 的 BOM 是 0xEFBBBF。