通过python串行发送十六进制代码到prin

2024-10-02 18:14:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要把ESCPOS命令发送到我的热敏打印机。 命令如下所示: http://pyramidacceptors.com/cms/wp-content/uploads/2013/02/ESC_POS_Protocol_Commands_REV_B.pdf

如何通过python串行发送简单的十六进制代码? 串行连接完成。 我想做一个全面的尝试:

content = "\x1B\x6D"
ser.write(content)

但是它不起作用,我需要经常使用.pdf,所以在python中使用hex时有什么需要注意的吗? 例如,print和feed paper n lines命令应使用python: 1B 64牛顿 n=线条

^{pr2}$

Tags: pos命令comhttppdfcms打印机content
1条回答
网友
1楼 · 发布于 2024-10-02 18:14:30

首先,不要发送“hex”。您发送的二进制数据是一个字节流。在

每个字节可以表示为从00到{}的十六进制数或ASCII字符。在

据我所知,描述ESC-POS协议的doc给出了应该以二进制形式发送的各种命令的“人工表示”。在

例如,给定“打印和馈送”,我读到:

                                    HEX        ASCII
 Print and feed paper n lines     1B 64 n     Esc d n 

这意味着,为了“打印并馈送5行”,您必须发送3字节

\x1B\x64\x05

在Python>;=2.6中,这样写(注意b前缀):

^{pr2}$

或者给定代码片段,这将导致:

content = b"\x1B\x64\x05"
ser.write(content)

请注意我不知道那个装置。也许你必须发送某种前缀来切换到“命令模式”。也许不是。在

相关问题 更多 >