java – 设置字符代码表以在ESC / POS打印机中打印非拉丁字符

前端之家收集整理的这篇文章主要介绍了java – 设置字符代码表以在ESC / POS打印机中打印非拉丁字符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个Android应用程序,我正在尝试打印一些包含非拉丁字符的文本.

我正在使用此代码将ESC t n命令发送到打印机:

 byte[] buf = new byte[]{0x1B,0x74,(byte)2}; // 2 is the codetable for PC850: Multilingual
 this.mBaSEOutputStream.write(buf);

然后,我尝试像这样打印我的代码

this.mBaSEOutputStream.write(“Лоремăîîîîî㔓.getBytes(”cp850“));

但我得到的所有非拉丁字符都是奇怪的符号.
那么我做错了什么?

最佳答案
不确定这是一个答案,但希望这将开始.还需要一点空间来解释……

看起来代码页850没有所需的字符.离线检查的一种简单方法是转换回String.例如. :

System.out.println(
        new String("Лорем ăîîîîîîă".getBytes("cp850"),"cp850"));
--> ????? ?îîîîîî?

显然只有那里有.

您可能需要使用其他代码页进行一些实验 – 这是什么类型的打印机?

这里的几个测试表明示例字符串可能需要多个代码页,但其他人可能更清楚:

System.out.println(
        new String("Лорем ăîîîîîîă".getBytes("cp852"),"cp852"));
--> ????? ăîîîîîîă
System.out.println(
        new String("Лорем ăîîîîîîă".getBytes("cp855"),"cp855"));
--> Лорем ????????

猜你在找的Android相关文章