转:vim处理16进制jpg文件出错
来源:互联网 发布:openresty java开发 编辑:程序博客网 时间:2024/05/02 00:52
在做数字图像处理时由于要读jpg文件信息,发现UltraEdit和vim读出的信息不同,其中UltraEdit读的信息头和网上查询得到的信息头相同,因此在查证此原因时发现了这篇文章
在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。
至此,困惑全部打开。
原文:http://www.cnblogs.com/lidp/archive/2009/06/26/1697873.html
- 转:vim处理16进制jpg文件出错
- 百度webUploader上传jpg文件出错
- ffmpeg命令行jpg转png出错求助
- 请问在Image中加入JPG文件时出错
- BMP文件转JPG文件
- 图片处理_2bmp转jpg
- 【转】 vim swp交换文件的处理
- Bmp文件转Jpg格式
- Java-图片处理 Gif转Jpg
- Latex处理jpg图片(转)
- Java-图片处理 Gif转Jpg
- matlab 将.jpg文件处理为.mat数据
- BCB中使用Image控件动态加载GIF、JPG文件出错的解决方法
- C#BMP文件转JPG例程
- Ubuntu下PDF文件转JPG图片
- dcm文件转jpg或者bmp
- CAD文件转换成jpg怎么转?
- Ubuntu下PDF文件转JPG图片
- 多维数组
- Erlang(11):进程
- Package already exists. Note: Views might filter empty parent packages.的解决方法
- 声音池 soundpool
- 2.系统开发基础-需求分析(3)
- 转:vim处理16进制jpg文件出错
- Zookeeper学习笔记
- 今天的练习题
- 震动
- DL4J与Torch、Theano、Caffe、TensorFlow的比较
- 寒假训练—— HDU - 2094 产生冠军 DFS or BFS
- uboot中串口时钟频率及波特率的设置
- 23种设计模式
- html 抓取网页中内容