2

我有一个长文本文件,其中包含一些 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 中转换带有无效字符的字符串吗?

谢谢 !

4

1 回答 1

-1
ic = Iconv.new( 'UTF-8//IGNORE', 'UTF-16' )
urf_8_str = (ic.iconv(bad_string) rescue 'oops, bad encoding')
于 2010-10-05T17:19:51.247 回答