VIM顯示十六進位出錯

來源:互聯網
上載者:User
在linux下用vim開啟jpg檔案,使用%!xxd進行16進位顯示時,檔案頭顯示為"3f3f
3f3f 0011 0804"檔案尾端顯示為 "3f3f
0a";而同樣的操作在windows下,就顯示為"ffd8 ffc0 0011 0804"和 "ffd9
0a",這才是正確的jpeg檔案頭和檔案尾標誌。
很蹊蹺 !
初時,我以為是jpeg在windows和linux下是不同的檔案頭,後來把jpg尾碼去掉,就一個純檔案,現象依舊。考慮可能不是作業系統的差異了。
重新使用ghex開啟jpeg資料查看,發現顯示正常,為"ffd8 ffc0 0011
0804"和 "ffd9 0a",正確。
估計應該是vim的問題了。
3f的ascii碼是?,那表示vim對檔案頭、尾沒有正常解析,是不是和vim解析檔案時用的編碼格式有關係呢?
開啟.vimrc配置項,屏蔽掉下面這句話:
set fileencodings=utf-8,gb2312,gbk,gb18030,ucs-bom
再用vim開啟jpeg檔案,顯示"ffd8 ffc0 0011 0804"和 "ffd9 0a",
顯示正確。
原來,為了支援識別和顯示中文,我規定了vim的fileencodings,
當vim開啟檔案時,會使用規定的編碼格式對資料進行解析,可惜jpeg的檔案頭FFD8、尾FFD9
不是任何一個中文的編碼,vim找不到對應的中文字,就顯示為??,即:3f3f。
至此,困惑全部開啟。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.