如何通过Python实现字节流、字符串与十六进制之间的转换示例?

2026-05-24 22:120阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1122个文字,预计阅读时间需要5分钟。

如何通过Python实现字节流、字符串与十六进制之间的转换示例?

问题描述:最近做一个项目,使用Python进行相关串口操作。通过串口指令将相关命令发送给设备,设备根据接收到的指令做出相应操作。所用的库是Pyserial。在初期开发时,遇到以下问题:

问题描述

最近做一个项目,是用Python进行相关的串口操作。及将相关指令通过串口发给设备,设备根据发过来的指令来做出相应的操作,所用的库是Pyserial。在最初开发时,出现的问题在于:别人给的文档里面的命令是十六进制的。例如,给出一个指令:

5aa5 07 82 1000 3132 3334 。 那么,我们需要思考的是,我们如何将上面的指令,转换为pyserial库进行写操作时(write)所需要的bytes类型。

解决方法

首先,我们需要知道的是,我们首先,需要用字符串构造成上面的指令,然后我们将它转换成bytes。我们可以使用encode()函数将字符串转为bytes格式:

然后我们就可以使用write对串口进行发数据了:

这里需要说明的是,我们发送的是字符串的1234,串口那边就根据ascii进行解析。所以就变成了 31 32 33 34。

阅读全文

本文共计1122个文字,预计阅读时间需要5分钟。

如何通过Python实现字节流、字符串与十六进制之间的转换示例?

问题描述:最近做一个项目,使用Python进行相关串口操作。通过串口指令将相关命令发送给设备,设备根据接收到的指令做出相应操作。所用的库是Pyserial。在初期开发时,遇到以下问题:

问题描述

最近做一个项目,是用Python进行相关的串口操作。及将相关指令通过串口发给设备,设备根据发过来的指令来做出相应的操作,所用的库是Pyserial。在最初开发时,出现的问题在于:别人给的文档里面的命令是十六进制的。例如,给出一个指令:

5aa5 07 82 1000 3132 3334 。 那么,我们需要思考的是,我们如何将上面的指令,转换为pyserial库进行写操作时(write)所需要的bytes类型。

解决方法

首先,我们需要知道的是,我们首先,需要用字符串构造成上面的指令,然后我们将它转换成bytes。我们可以使用encode()函数将字符串转为bytes格式:

然后我们就可以使用write对串口进行发数据了:

这里需要说明的是,我们发送的是字符串的1234,串口那边就根据ascii进行解析。所以就变成了 31 32 33 34。

阅读全文