此问题在此处已有答案:
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吗?我不需要打开或读取文件,但要识别其编码类型。
此问题在此处已有答案:
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吗?我不需要打开或读取文件,但要识别其编码类型。
1条答案
按热度按时间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
进行比较。