编码UTF-8-BOM Ruby [重复]

im9ewurl  于 12个月前  发布在  Ruby
关注(0)|答案(1)|浏览(93)

此问题在此处已有答案

How to write BOM marker to a file in Ruby(4个答案)
昨天就关门了。
我正在尝试识别Ruby中的文件编码。

file = File.open("filePath", "rw");
file.encoding;

字符串
但我无法获取UTF-8-BOM编码,即使我的文件是这样的编码。我得到了一切,但没有UTF-8-BOM。UTF-8-BOM编码可能不支持ruby吗?我不需要打开或读取文件,但要识别其编码类型。

cbeh67ev

cbeh67ev1#

你说的“UTF-8-BOM”编码是什么意思?事实上,它是一种很好的普通的“UTF-8”编码,只是在前面加上了字节顺序标记(EF BB BF.)BOM对UTF-8没有影响,不推荐使用UTF-8的BOM,总结:没有这样的 * 编码 ,有字节顺序标记, 应该有助于识别编码的字节顺序
File.open是通用的流读取器,它不建议任何东西,它可能会被告知使用显式编码(对单字节编码有用),它可能会根据BOM(对固定宽度的unicode编码有用)确定编码的endianness。
如果要检查文件是否有BOM,请从文件中读取3个字节并将其与EF BB BF进行比较。

相关问题