python發送16進制
Ⅰ 用python怎麼發送tcp協議的16進制數據包
一般字元串可以直接發,不是可讀的也可以用"\x33\x22"這種發。
如果是一列數之類的,可以用struct的pack打包成字元串發送。
Ⅱ python3 16進制字元串、列表、字元串之間的轉換
在Python操作數據內容時,多數情況下可能遇到下面3種類型的數據處理:
hexstring 如:ƇC532145697A8B6F'
str 如:'x1Cx53x21x45x69x7Ax8Bx6F'
list 如:[0x1C, 0x53, 0x21, 0x45, 0x69, 0x7A, 0x8B, 0x6F]
各種第三方模塊(如pyDes),或者自己寫的介面中,可能存在由於類型不統一需要在這3種數據中來回切換的情況。
需要用到的核心的方法如下:
list() 將對象轉換為list
str() 將對象轉換為str
bytearray() 將對象轉換為bytearray
bytearray.fromhex() 將對象從hexstring轉換為bytearray
binascii.b2a_hex() 將對象從str轉換為hexstring
如:[0x53, 0x21, 0x6A] -> 'x53x21x6a'
方法:list -> bytearray -> str
如:'x53x216a' -> [0x53, 0x21, 0x6A]
方法:逐個字元轉成十進制
如: [0x53, 0x21, 0x6A] -> A'
方法:list -> bytearray -> str -> hexstring
如: A' -> [0x53, 0x21, 0x6A]
方法:hexstring -> bytearray -> list
如: A' -> 'x53x21x6A'
方法:hexstring -> bytearray -> str
以上內容轉自: https://blog.csdn.net/diaoxuesong/article/details/72123415#
Ⅲ 串口發送16進制1234,用python接收的是'\x01\x01\x03\x04'但用python再怎麼轉換成原來的數據1234呢
1、首先要引用Python的第三方庫:serial,打開pycharm。