用UltraEdit打開UTF-8編碼的文件,在UltraEdit里自動(dòng)轉(zhuǎn)換成了UFT-16編輯,但在保存時(shí)還是UTF-8編碼
UltraEdit狀態(tài)顯示的編碼:
ASCII 編碼文件顯示為 ? DOS或UNIX
UTF-8 編碼文件顯示為 ?U8-DOS或U8-UNIX
UTF-16編碼文件顯示為 U-DOS 或U-UNIX
(一般Unicode指UTF-16)
原文:https://blog.csdn.net/u011519892/article/details/17419701
關(guān)于Unicode 編碼,這里有篇文章可以參考。Unicode是幾種多字節(jié)編碼格式的統(tǒng)稱,其中使用廣泛的有UTF-8與UTF-16,而通常人們說Unicode時(shí),實(shí)際是在指UTF-16編碼,UltraEdit 就是這樣,為了避免混淆,下面都按照標(biāo)準(zhǔn)引用名字。
使用UltraEdit 打開一個(gè)UTF-8 編碼的文件,然后按ctrl+h 進(jìn)入16進(jìn)制模式查看文件內(nèi)碼,你會(huì)發(fā)現(xiàn)文件已經(jīng)被轉(zhuǎn)換成UTF-16 編碼,并添加了UTF-16 little endian 的BOM:FF? FE,UltraEdit 狀態(tài)欄文件的尺寸也增加了不少。其實(shí)大可不必?fù)?dān)心,可以回到正常模式繼續(xù)編輯并保存,保存后的文件并沒有改變編碼格式,只是在編輯時(shí)使用UTF-16格式而已。
因此,如果通過UltraEdit打開文件查看BOM 來(lái)確定文件格式,并不是安全的。UltraEdit 下方狀態(tài)欄則真實(shí)的顯示了當(dāng)前打開文件的實(shí)際編碼格式,而不是當(dāng)前編輯的編碼格式。 對(duì)于一個(gè)普通Ascii 格式的文件,它顯示為DOS 或者UNIX,對(duì)于一個(gè)包含有UTF-8編碼字符的文件,它顯示為U8-DOS 或者U8-UNIX,對(duì)于UTF-16編碼的文件,它顯示為U-DOS 或者U-UNIX。