我从网络上获取了一些字符串数据,我怀疑它并不总是像它所说的那样。我不知道问题出在哪里,我也不再关心了。从这个项目的第一天起,我就一直在与 Ruby 字符串编码作斗争。我真的想要某种方式来表达:“这是一个字符串。它是什么?”,然后使用该数据将其转换为 UTF-8,这样它就不会爆炸 gsub()
2,000 行在我的应用程序的深处。我已经查看了 rchardet
,但即使它现在应该适用于 1.9,它也会在给定任何多字节输入的情况下崩溃......这没有帮助。
最佳答案
您无法真正检测到编码。你只能假设它。
对于大多数西方语言应用程序,以下构造 将工作。传统的编码通常是“ISO-8859-1”。新的首选编码是 UTF-8。为什么不简单地尝试使用 UTF-8 对其进行编码并使用旧编码进行回退
def detect_encoding( str )
begin
str.encode("UTF-8")
"UTF-8"
rescue
"ISO-8859-1"
end
end
关于ruby - 检测编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3074521/