我正在尝试打印到仅支持CP866编码的设备。
不幸的是,我正在打印的设备(Android设备)不支持CP866,导致"abc".getBytes("CP866")
抛出UnsupportedEncodingException
。
所以,我想,我必须自己Unicode
进行CP866
编码。有没有这样做的免费软件java库?
答案 0 :(得分:3)
根据Oracle文档,Cp866是Java 7支持的编码。所以
"Cp866"
而非"CP866"
。)更新 - 不太可能是后者。根据我从the source得出的结论,标准“提供者”使用的字符集查找机制不区分大小写。
参考文献:
答案 1 :(得分:1)
类java.nio.charset.Charset
同时支持Cp866和Unicode。我想你可以使用encode
和decode
方法。
答案 2 :(得分:1)
http://msdn.microsoft.com/en-us/goglobal/cc305166包含字符列表;如果没有预先制作的选项,编写代码来迭代数组,将Unicode字符翻译成适合CP866的字节,不应该花费太多时间。
答案 3 :(得分:0)
我需要在android中用Cp866编码字符串。您可以将java库与make charset类一起使用。其中有Cp866。
如果你想扩展Charset类并为你添加私人字符集: Java NIO。第6章字符集