我有一个长文本文件,其中包含一些无效的 UTF-16 编码字符。到目前为止,我一直在尝试使用以下代码对其进行转换:
ic = Iconv.new( 'UTF-8//IGNORE', 'UTF-16' )
urf_8_str = ic.iconv( an_invalid_encoded_utf_16_string )
我得到一个 Iconv::InvalidCharacter 异常。
我使用的是 OS X 10.6(因为 iconv 实现在 Mac 机器上似乎有点特殊)和 Ruby 1.8
你知道用 Ruby 转换带有无效字符的字符串的方法吗?
谢谢!
最佳答案
ic = Iconv.new( 'UTF-8//IGNORE', 'UTF-16' )
urf_8_str = (ic.iconv(bad_string) rescue 'oops, bad encoding')
关于ruby - 如何让 iconv 忽略编码错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3866036/