如何让 iconv 忽略编码错误?

发布于 2024-09-26 20:38:30 字数 352 浏览 4 评论 0原文

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

谢谢 !

I've a long text file with some invalidad encoded characters in UTF-16. So far, I've been trying to convert it using the following code:

ic = Iconv.new( 'UTF-8//IGNORE', 'UTF-16' )
urf_8_str = ic.iconv( an_invalid_encoded_utf_16_string )

And I get an Iconv::InvalidCharacter exception.

I'm using OS X 10.6 (since it seems that the iconv implementation is a bit special on Mac machines) and Ruby 1.8

Do you know any way to convert a string in Ruby with invalid characters on it?

Thanks !

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

薄荷→糖丶微凉 2024-10-03 20:38:30
ic = Iconv.new( 'UTF-8//IGNORE', 'UTF-16' )
urf_8_str = (ic.iconv(bad_string) rescue 'oops, bad encoding')
ic = Iconv.new( 'UTF-8//IGNORE', 'UTF-16' )
urf_8_str = (ic.iconv(bad_string) rescue 'oops, bad encoding')
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文