在文件开头奇怪的字符(strange characters at beginning of file

2019-09-30 18:02发布

有在我编辑一个文件的开头奇怪的字符(使用TextMate的..)我不知道什么时候又出现了,他们在TextMate中看不见但我的脚本读取文件都疯了..

这是在文件中的最初几个字符(如图带od命令):

0000000 177377 000120 000105 000117 000120 000114 000105 000072

第2不应该在那里我想..也许他们被一些奇怪的Dropbox同步造成的? 还是其他什么东西..但他们往往会再次出现(我还不知道什么时候..)

我的问题:什么是177377和简单的方式在我的Ruby脚本删除吗? 谢谢

Answer 1:

000000 177377 (十六进制0x0000FEFF )是一个字节顺序标记 (BOM)。 这表明消费者该文件的剩余部分是在大端UTF-32编码 。 这可能不是你的情况是正确的 ,但是这就是字节表示。

有什么用它做是有点棘手。 在一般情况下, BOM准确地表示如下的数据的编码。 检测并跳过它,并处理后续的内容,就好像它是在您的本地默认字符集通常将是错误的事情,即使它似乎是正确的在这里。 相反,我会尝试找出为什么你的编辑器插入不正确的BOM,以及是否有一种方法来禁用它。



文章来源: strange characters at beginning of file