0

例如,我们需要一个第三方库来解析和获取文件元数据。但是该方法会通过 utf-8 解码所有元数据,即使元数据以另一种编码方式编码,它也会返回给我们一个 utf-8 编码的字符串。并且该库不支持任何方法来返回原始字符串数据供我们正确编码。现在我们知道文件的元数据的原始编码是,例如,GBK。有没有办法将 utf-8 编码的字符串更正为 GBK?

4

2 回答 2

1

是的。您应该了解 ruby​​ 1.9force_encodingencode字符串类的方法。我建议在使用 ruby​​ 操作之前尽快将所有内容转换为 UTF-8。

于 2013-01-11T08:20:59.317 回答
1

不,没有,将不属于 UTF-8 的内容解码为 UTF-8 是有损的。这意味着,当您从库中获取字符串时,您已经丢失了信息并且无法将原始数据表示为 GBK。更改 lib 的工作方式,或将文件元数据更改为 UTF-8。

于 2013-01-11T11:20:31.393 回答