例如,我们需要一个第三方库来解析和获取文件元数据。但该方法将通过utf-8解码所有元数据,即使元数据以另一种编码方式编码,它也会返回一个utf-8编码的字符串。而且lib不支持任何返回原始字符串数据的方法,以便我们对其进行正确编码。现在我们知道文件对元数据的原始编码是,例如,GBK。有没有办法将utf-8编码的字符串改正为GBK?
发布于 2013-01-11 19:20:31
没有,解码像UTF-8这样不是UTF-8的东西是有损的。这意味着,当您从库中获得字符串时,您已经丢失了信息,并且不能将原始数据表示为GBK。更改lib的工作方式,或将文件元数据更改为UTF-8。
发布于 2013-01-11 16:20:59
是。您应该了解Ruby1.9在string类上的force_encoding
和encode
方法。我建议在ruby中操作它之前,尽快将所有内容转换为UTF-8。
https://stackoverflow.com/questions/14274138
复制相似问题