我必须从外部源加载一些数据。当我查看编码时,Ruby告诉我ASCII-8BIT
二进制文件。但是,某些来源的编码为ISO-8859-1
,其中一些来源位于UTF-8
。当我尝试将ISO-8859-1
编码的内容转换为UTF-8
时,我收到错误消息。但是,当我做content.force_encoding('ISO-8859-1').encode('UTF-8')
之类的事情时,一切正常。
但是,这并不是相反的。当我尝试将UTF-8数据编码为ISO时,最终会出现像
这样的破碎字符。
那么,有没有办法检测"底层"编码
ASCII-8BIT
数据,然后将其转换为UTF-8
?
答案 0 :(得分:1)
我有一个快速的谷歌,发现了Brian Lopez的Charlock Holmes宝石。它看起来像你正在进行的检测过程。