Linux下文件开头的feff的问题 - CSDN博客

文章推薦指數: 80 %
投票人數:10人

但是发现每个文件第一行都会有“”这个字符串。

google了下发现问题的所在了。

原来这是个被称作BOM(Byte Order Mark)的不可见字符,是Unicode用来 ... Linux下文件开头的feff的问题 生活不只*眼前的苟且 于 2018-01-1209:50:50 发布 15574 收藏 6 分类专栏: Linux Linux 专栏收录该内容 28篇文章 0订阅 订阅专栏 由于linux下vi无法直接写入中文注释,所以只能在windows下将写好注释的代码传到linux服务器上,但是问题也就出现了,我在windows下用的是Notepad++这款编辑器(感觉还挺不错,有语法高亮识别)编辑源代码的,加过注释后上传到linux上无论什么语言环境(LANG)都是乱码,然后看了一下Notepad++的设置,发现默认为ANSI格式,于是就转换为UTF-8格式编码(因为linux里有这个格式的嘛),然后再上传到linux服务器上,linux也设为UTF-8语言环境,可以看到中文注释了!但是发现每个文件第一行都会有“”这个字符串。

google了下发现问题的所在了。

原来这是个被称作BOM(ByteOrderMark)的不可见字符,是Unicode用来标识内部编码的排列方式的,在UTF-16、UTF-32编码里它是必需的,而在UTF-8里是可选的。

因此,才会出现有的编辑器在文件头部添加添加BOM、而有的语法解析器又不作处理的的混乱情况。

所谓BOM,全称是ByteOrderMark,它是一个Unicode字符,通常出现在文本的开头,用来标识字节序(Big/LittleEndian),除此以外还可以标识编码(UTF-8/16/32),如果出现在文本中间,则解释为zerowidthno-breakspace。

这个BOM可以在编辑文本时设置的,但是,只能在第一次编辑时才能设置它为bomb还是nobomb,编辑完并保存后就无法再更改编码格式了。

有关bomb命令: #设置UTF-8编码:setfileencoding=utf-8#添加BOM:setbomb#删除BOM:setnobomb#查询BOM:setbomb? 如下例子: 用vi编辑一个测试文本test.txt [plain]  viewplain  copy test bomb or nobomb  ~  ~  ~  ~  ~  ~  ~  ~  ~   查询BOM结果:(setbomb?) [plain]  viewplain  copy ~  ~  ~  ~  ~  nobomb   更改BOM结果:(setbomb) [plain]  viewplain  copy ~  ~  ~  ~  ~  ~  bomb   保存后再次打开就会发现如下图所示: 而且我们对于上传过来的源代码没法做修改,网上有人说可以删除BOM(grep-I-r-l$'\xEF\xBB\xBF'*|xargssed-i's/^\xEF\xBB\xBF//;'),我试过了不行,不知哪位大牛指点下?检查文件中是否含BOM的命令为: [plain]  viewplain  copy grep -I -r -l $'\xEF\xBB\xBF' *   这个命令是有效的。

既然没法靠在linux下有什么命令删除BOM,那咱们只能从源头处理了,编码更改为无BOM的UTF-8编码格式。

Notepad++有转换此格式的选项: 转换过后保存下然后再传到linux服务器上,问题就解决了!! 另:这个问题在sun环境和Hp环境下没有此问题,我不清楚如果忽略这个问题在编译时或程序运行时是否会产生异常,网上有人反映是有的,所以还是建议麻烦些也不要忽略此问题,谁晓得它会惹出什么麻烦呢 生活不只*眼前的苟且 关注 关注 2 点赞 踩 6 收藏 0 评论 Linux下文件开头的feff的问题 由于linux下vi无法直接写入中文注释,所以只能在windows下将写好注释的代码传到linux服务器上,但是问题也就出现了,我在windows下用的是Notepad++这款编辑器(感觉还挺不错,有语法高亮识别)编辑源代码的,加过注释后上传到linux上无论什么语言环境(LANG)都是乱码,然后看了一下Notepad++的设置,发现默认为ANSI格式,于是就转换为UTF-8格式编码(因为linu 复制链接 扫一扫 专栏目录 去除文件中 chizhuo3576的博客 12-11 781 最近生成的文件中出现了乱码,而且单个文件中出现不止一次,在vim中打该文件显示,而在idea中则显示一个“-”,对数据处理造成了极大的困扰,通过使用其它编辑器打开发现,Windows记事本不出现乱码,notepad++不出现乱码,那么极有可能是该... 小谈Vim打开文件开头的 夜星空 07-29 1380 在本地Windows机上开发的PHP程序上传到linux服务器上后,通过浏览器访问相应接口,发现返回的数据前多了一个莫名的字符‘-’,甚为不解。

之后通过网络抓包的方式,查看到接口返回数据前多了EFBBBF。

出现了如此令人不知所以然的bug总是极度让人抓狂。

经过了几番尝试之后,仍然不能得以解决,但也隐隐感觉得可能是字符编码的问题,遂用PHPStorm新建了一个文件,然后重新将之前出bug的文件 参与评论 您还未登录,请先 登录 后发表或查看评论 Linux文件中开始处的feff,行末的^M 小马过河 04-15 920 Windows中的换行符为^M,若直接把Windows中的文件复制到Linux中,则在Linux中的文件开始处有一个“feff”,代表着文件的开始,包含三个字节(0xef,0xbb,0xbf),每一行的末尾会有一个“\^M“,在Linux中\^M的转义字符为\r,所以去除^M科一使用python中的strip(),比如: forlineinf.readlines(): i... php去掉feff,PHP中遇到BOM、编码导致json_decode函数无法解析问题 weixin_34243541的博客 03-31 49 这篇文章主要介绍了PHP中遇到BOM、编码导致json_decode函数无法解析问题,json无法正常解析的同学可以看一下,是不是看不见的BOM编码导致的问题,需要的朋友可以参考下。

昨天同事遇到一个奇怪的问题,就是以下代码,无法通过JSON校验,也无法通过PHP的json_decode函数解析,代码如下:[{"title":"","pinyin":""}]可能聪明的你已经猜到其中包含有不看见的特... 【30】UTF-8、BOM、的问题 azhegps的博客 05-22 598    有些编辑器,比如M$Windows的记事本,在创建UTF8编码文件时会在头部添加一个不可见字符。

这个字符可以通过vim查看到,而且如果是一个php文件,php4、php5在解析时均会有输出。

这个被称作BOM(ByteOrderMark)的不可见字符,是Unicode用来标识内部编码的排列方式的,在UTF-16、UTF-32编码里它是必需的,而在UTF-8里是可选的。

因此,才会出现... linux下feff的问题 热门推荐 当你专心做一件事时全世界都会给你让路!! 04-01 1万+ 由于linux下vi无法直接写入中文注释,所以只能在windows下将写好注释的代码传到linux服务器上,但是问题也就出现了,我在windows下用的是Notepad++这款编辑器(感觉还挺不错,有语法高亮识别)编辑源代码的,加过注释后上传到linux上无论什么语言环境(LANG)都是乱码,然后看了一下Notepad++的设置,发现默认为ANSI格式,于是就转换为UTF-8格式编码(因为linu 问题 erlang 01-17 4242 之前多次遇到在文件头中看到的情况,都会导致数据有问题。

开始只是删除它没太注意是怎么回事,这次又遇到了这个问题,查了一下,总结了一下问题。

分享一下。

 UTF-8编码中BOM的检测与删除 先解释一个名词BOM,所谓BOM,全称是ByteOrderMark,它是一个Unicode字符,通常出现在文本的开头,用来标识字节序(Big/LittleEndian),除此以外还可以标识编码(UTF-8 UTF-8、BOM、的问题 翟海飞 01-28 1万+ 问题:在项目开发中,遇到文件开头有的标识, [zhaihf@localhostzhaihf]$grep-I-r-l$'\xEF\xBB\xBF'* codingstdutf8.txt 解决方法:用shell命令删除 [zhaihf@localhostzhaihf]$grep-I-r-l$'\xEF\xBB\xBF'codingstdutf8.txt| 小谈linux下文件头部问题 weixin_34293059的博客 02-28 508   新年刚过,饱满的心态迎接2018,认真工作,提高效率。

于是,两三天完成一个需求迭代,兴致勃勃的上线测试服务器,感觉以这样的速度开发的话,年底就可以月入百万,迎接白富美,走上......等等,jsp布局错乱什么鬼?部分功能崩溃什么鬼?于是有了今天的排错之旅。

  由于在开发环境是正常的,部署到服务器后,功能部门不可用,把相关文件和svn对比,并没有用得出有效结果,于是锁定编码的问题,linux下... php,php编程中要留意的那些坑~ weixin_39616071的博客 04-12 82 另类的写法有惊喜我们在阅读某些源代码的时候会发现有一种另类的写法,比如//异常写法if(false==$result)//正常写法if($result==false)其实这是一种很聪明的写法,它可以很大程度上杜绝手误造成的严重bug。

假如我们在正常方法中把==误写成=,那么if($result=false)就会恒定返回true,导致在实际运行中产生未知的Bug,如果使用异常... 【Linux】<feff>问题 丨晋丨 03-24 179 在windows下保存文件编码为UTF-8会在文件头加上BOM,所以在读文件时会出现报错。

在linux下用vim打开会看到

小谈linux下文件头部<feff>问题 JSH的博客 11-27 117 https://blog.csdn.net/weixin_34293059/article/details/91430820?utm_medium=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-1.nonecase&depth_1-utm_source=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-1.nonecase unicode、utf-8、ansi的故事 congqing7975的博客 04-19 144 我在网上看到的一篇很详细的讲这三种编码的文章。

讲解的非常清楚,转过来给大家看看吧。

作者的blog是http://haoxiaobo.spaces.msn.com快下班时,爱问问题的小朋友Nico又问了一个问题:"sqlser... php,UTF-8、BOM、的问题 weixin_30229479的博客 04-12 188 所谓BOM,全称是ByteOrderMark,它是一个Unicode字符,通常出现在文本的开头,用来标识字节序(Big/LittleEndian),除此以外还可以标识编码(UTF-8/16/32),如果出现在文本中间,则解释为zerowidthno-breakspace。

对于UTF-8/16/32而言,它们名字中的8/16/32指的是编码单位是多少位的,也就是说,它们的编码单位分别... linux下vi显示bom,linux下vi中[noeol]以及出现feff的问题 最新发布 weixin_32183107的博客 05-13 267 "uptime.py"[noeol]69L,2311C"system/uptime.py"69L,2312C‘noeol‘就是‘noend-of-line‘,即“没有行末结束符”使用cat-A命令可以看到两个文件的不同之处在于最后一行是否有换行符cat-Auptime.pyif__name__==‘__main__‘:$uptime=uptime()$print... 用VIM设置UTF-8编码的BOM标记 公众号:张小飞那些事儿 10-27 3410 1.查看是否有BOM :setbomb? 2.添加BOM :setbomb 3.去掉BOM :setnobomb 删除linux weixin_33895016的博客 01-13 208 2019独角兽企业重金招聘Python工程师标准>>> ... 彻底删除文件或者修改文件中的‘feff’ 不积跬步,无以致千里;不积小流,无以成江海 08-02 2021 这个字符出现文本训练语料中。

首先是查找含有这个字符的文本: grep-I-r-l$'\xEF\xBB\xBF'yourfilepath 只删除这个字符: grep-I-r-l$'\xEF\xBB\xBF'yourfilepath|xargssed-i's/\xEF\xBB\xBF//g' 删除含有字符的哪一行: grep-I-r-l$'\xEF\xBB\... “相关推荐”对你有帮助么? 非常没帮助 没帮助 一般 有帮助 非常有帮助 提交 ©️2022CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页 生活不只*眼前的苟且 CSDN认证博客专家 CSDN认证企业博客 码龄9年 暂无认证 174 原创 1万+ 周排名 104万+ 总排名 236万+ 访问 等级 1万+ 积分 395 粉丝 1204 获赞 280 评论 1993 收藏 私信 关注 热门文章 针对Failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:3.1的解决方案 274139 正则表达式匹配任意字符 168846 crontab定时任务不执行的原因 123960 java.lang.ExceptionInInitializerError解决办法 87679 @Scheduled不执行的原因 81896 分类专栏 Java 78篇 Python 38篇 Spring 16篇 Linux 28篇 Hadoop 9篇 Nosql 12篇 前端 5篇 Mysql 6篇 数据结构与算法 4篇 机器学习 66篇 最新评论 mysql获取分组后每组的最大值 weixin_43758142: 这方法对于数据量60w+的表执行一次要2-4秒之间,有啥优化方案吗 针对Failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:3.1的解决方案 ftft2252: 感谢大佬,终于成了 针对Failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:3.1的解决方案 听君一席话,省我十本书: 我调完后报进程终止 Encoder-Decoder模型和Attention模型 谢同鞋: 后面几张图片看不见了 MySQL使用全文索引(fulltextindex) SiaoLeio: 张欣婷是前女友么 您愿意向朋友推荐“博客详情页”吗? 强烈不推荐 不推荐 一般般 推荐 强烈推荐 提交 最新文章 KMP算法、AC自动机算法的原理介绍以及Python实现 python项目“内存泄漏”的调试过程 服务超时实战分析 2019年5篇 2018年83篇 2017年93篇 2016年99篇 2015年1篇 目录 目录 分类专栏 Java 78篇 Python 38篇 Spring 16篇 Linux 28篇 Hadoop 9篇 Nosql 12篇 前端 5篇 Mysql 6篇 数据结构与算法 4篇 机器学习 66篇 目录 评论 被折叠的  条评论 为什么被折叠? 到【灌水乐园】发言 查看更多评论 实付元 使用余额支付 点击重新获取 扫码支付 钱包余额 0 抵扣说明: 1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。

2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值



請為這篇文章評分?