我的 Android 应用程序使用一个只接受 ISO-8859-1 编码的文本数据的开源库。我有几个来自东欧的用户想要输入 cp1251 编码的文本。这似乎是开源库的一个限制,因为 Java 完全能够支持这些格式以及 unicode 格式。
一种选择是修改开源库以支持多个字符集。是否可以将 cp1251 转换为 ISO-8859-1 然后再转换回来?由于它们都是 8 位语言编码,因此您似乎会以字节级别存储相同数量的数据。但是,当开源库将字节数据加载到使用 ISO-8859-1 编码的字符串中时,ISO-8859-1 中不存在的任何字节值都可能会引发异常。
我不是字符集专家,但我找不到执行此转换的代码示例这一事实让我相信它不会工作,至少不可靠。