Java escpos 字符集编码

Tob*_*bia 3 java encoding character-encoding

我必须打印原始文本打印机,我必须在其中设置代码页字符集。我发现最适合我的应用程序的字符集是 IBM858。\n现在的问题是将字符串编码到此代码页。

\n\n

我试过这个:

\n\n
test = new String("#$@\xc2\xb0\\\\\xc3\xa8^\xc3\xb9\xc3\xa0\xc3\xb2\xc3\xa8\xc3\xac\\n".getBytes(),"Cp858");\nfile.write(test.getBytes());\n
Run Code Online (Sandbox Code Playgroud)\n\n

但字符不匹配。

\n

Gab*_*enn 5

使用处理国际字符集的 ESC/POS 打印机,您必须:

  • 设置打印机的代码页:比如ESC t 40会选择代码页ISO8859-15。即在Java中outputStream.write( new byte[]{ 0x1B, 0x74, 40 } );
  • 使用相同的代码页对要打印的字符串进行编码:outputStream.write(theStringToPrint.getBytes("ISO8859-15"));

您必须向您的特定打印机检查可用的代码页以及命令中要使用的编号ESC t nEPSON ESC/POS 文档列出了ESC t可用于 EPSON 打印机的代码页。

对于 EPSON 打印机,可以在TM 打印机的字符代码表页面中找到有用的文档。检查该Single-byte Characters/Code Pages部分。

不要使用国际字符集ESC r n命令:它将替换一些 ASCII 字符,以便能够使用 ASCII 代码页打印一些国际字符,它已经过时了。