任何免费的java库编码从Unicode到CP866



我正在尝试打印到只支持CP866编码的设备。

不幸的是,我打印的设备(Android设备)不支持CP866,导致"abc".getBytes("CP866")抛出UnsupportedEncodingException

所以,我想,我必须自己做UnicodeCP866编码。有没有免费的java库可以做到这一点?

根据Oracle文档,Cp866是Java 7支持的编码。所以要么

  • 您使用的是不支持Cp866的旧版本Java(例如,参见@Joachim的评论!!),或者
  • Java运行时无法识别您正在使用的名称。(字符集的规范名称是"Cp866"而不是"CP866")

UPDATE -不太可能是后者。从我从源代码中得出的结论来看,标准"提供者"使用的字符集查找机制不区分大小写。

引用:

    Java 7中支持的编码Java 6支持的编码Java 5支持的编码

http://msdn.microsoft.com/en-us/goglobal/cc305166有字符列表;如果没有预先制作的选项,编写代码来遍历数组,将Unicode字符转换为适合CP866的字节,应该不会花费太多时间。

java.nio.charset.Charset既支持Cp866,当然也支持Unicode。我想你可以使用encodedecode方法。

我需要在android中使用Cp866编码字符串。您可以使用java库与组成的字符集类。

这是链接:http://www.doc.ic.ac.uk/~awl03/cgi-bin/trac.cgi/miro/browser/trunk/gcc/libjava/classpath/gnu/java/nio/charset

如果你想扩展Charset类并添加你的私有Charset:Java NIO。第六章字符集

相关内容

  • 没有找到相关文章

最新更新