文件开头的奇怪字符

luc*_*uca 1 ruby unicode parsing ascii character-encoding

在我正在编辑的文件的开头有奇怪的字符(使用textmate ...)我不知道它们何时出现,它们在textmate中是不可见的但是我的脚本读取文件变得疯狂..

这是文件中的前几个字符(如od命令所示):

0000000 177377 000120 000105 000117 000120 000114 000105 000072
Run Code Online (Sandbox Code Playgroud)

前两个不应该在那里我想..也许它们是由一些奇怪的Dropbox同步引起的?或其他东西......但它们往往会重新出现(我还不知道...)

我的问题:177377是什么,以及在我的ruby脚本中删除它的简单方法?谢谢

dka*_*arp 5

000000 177377(十六进制0x0000FEFF)是一个字节顺序标记(BOM).它向消费者表明文件的其余部分采用big-endian UTF-32编码.在您的情况下,这可能不正确,但这是字节所指示的.

怎么做有点棘手.通常,BOM 确实准确地表示以下数据的编码.检测并跳过它并将后续内容视为在本地默认字符集中处理通常是错误的,即使它在这里似乎是正确的.相反,我试图弄清楚为什么你的编辑器插入了错误的BOM以及是否有办法禁用它.

  • 查看http://calc.50x.eu/并插入八进制177377.(您不能将6个八进制数字分成两半以获得2个十六进制数字 - 位数不起作用.) (2认同)