我需要在打印收据上打印非英文字符,使用热敏 POS 收据打印机。Xprinter XP-58III 热敏 POS 收据打印机支持通用 ESC/POS 命令。据我所知,这应该通过设置字符代码表来完成。在我的例子中,目标代码页是 21。用于设置代码页的 ESC/POS 命令是'ESC t n'
(ASCII)或 '1B 74 n'
(十六进制),其中“n”是字符代码表的第 n 页。
我使用十六进制形式的命令:我将“21”转换为十六进制值,或者我应该使用这个数字而不进行转换,即'1B 74 21'
?
另外,在初始化代码之后应该在哪里添加 thnis 命令?
0x1B 0x40 0x1B 0x74 0x21
我使用十六进制编辑器在二进制文件中添加/编辑 ESC/POS 代码。
编辑:我自己解决了这个问题。为了在POS收据打印机上打印任何非英文字符,我们必须满足两个条件:1)设置正确的Code Page,以及2)在收据文件或POS软件中设置相应的编码(与Code Page相同的编码) . 此 POS 打印机型号的正确代码页是 25 [WPC1257]。