如何获取 Ruby 字符串的兼容编码列表?(MRI 1.9.3)
用例:我有一些用户提供的字符串,用 UTF-8 编码。理想情况下,我需要将它们转换为ISO/IEC 8859-1
(8 位),但是当存在一些特殊字符时,我还需要回退到 unicode。
另外,有没有更好的方法来完成这个?也许我正在测试错误的东西。
编辑-为答案添加更多细节
坦克,我可能应该添加一些上下文。我知道如何进行编码转换。
我正在寻找一种方法来快速找出一个字符串是否可以安全地编码为另一种编码,或者,以另一种(而且完全错误的)方式,支持该字符串中所有字符 的最小编码是什么。
仅将字符串转换为 16 字节不是一种选择,因为它们将作为 SMS 发送并将它们转换为 16 字节编码会将可用字符的数量从 160 个减少到 70 个。
只有当它们包含不支持的特殊字符时,我才需要将它们转换为 16 字节ISO/IEC 8859-1
。