我的Android应用程序使用的开源库只接受ISO-8859-1编码的文本数据。我有一些来自东欧的用户,他们想输入cp1251编码的文本。这似乎是开源库的一个限制,因为Java完全能够支持这些格式以及unicode格式。
一种选择是修改开源库以支持多个字符集。是否可以将cp1251转换为ISO8859-1,然后再转换回来?因为它们都是8位语言编码,所以看起来您可以在字节级别存储相同数量的数据。但是,当开源库将字节数据加载到使用ISO-8859-1编码的字符串中时,ISO-8859-1中不存在的任何字节值都可能抛出异常。
我不是字符集专家,但我找不到代码样本进行这种转换的事实让我相信它不会工作,至少不可靠。
发布于 2013-01-08 09:49:28
你说得对,这根本不会有很好的效果。CP1251中的大多数非ASCII码都不存在于ISO8859-1中。(CP1251是东欧语言,包含大量西里尔字符;ISO8859-1是西欧语言,包含重音拉丁字符、标点符号和符号。)两者中都有几个字符,但太少了(几乎所有字符都是标点符号),这可能对您没有任何好处。
https://stackoverflow.com/questions/14207059
复制相似问题