0
私はそれがこの方法で書かれているテキストファイルからデータを抽出する必要があります。どのように連結16進数ですか?
ccddeeff8899aabb4455667700112233
だから私の最初の質問は、この形式を持っているために、平文を変換する方法である:
DATA= '\xcc\xdd\xee\xff\x88\x99\xaa\xbb\x44\x55\x66\x77\x00\x11\x22\x33'
それ以降の私の目標は、ファイルから抽出したデータを連結することです。START_OF_DATA='\x24'.
私の2番目の質問はどのように連結するのですかDATA+START_OF_DATA
です。私は私の仕事をテストする際に実際に は、最初に私はちょうど1平文を使用ので、私は、この宣言を使用:
clear_msg=(b'\x24\xcc\xdd\xee\xff\x88\x99\xaa\xbb\x44\x55\x66\x77\x00\x11\x22\x33')
私はまさにこれと同じフォーマットを持って最後にする必要があります。
これは私のスクリプトはPythonである:
import string
import serial
import time
from array import array
import struct
with open('C:\\Users\\user\\Plaintext.txt') as f:
lines = f.readlines()
SOF= '\x24'
ser = serial.Serial(port='COM4',\
baudrate=230400,\
parity=serial.PARITY_NONE,\
stopbits=serial.STOPBITS_ONE,\
bytesize=serial.EIGHTBITS,\
timeout=0)
for a in range (0,1):
line_array=lines[a]
plaintxt_16b=line_array[0:32]
#The result is ccddeeff8899aabb4455667700112233
#clear_msg= SOF+plaintxt_16b
# print(clear_msg)
# ser.write(clear_msg)
time.sleep(0.4)
#while True:
# print(ser.read(70))
ser.close() # close ports
これは私のテキストファイルPlaintext.txt
です:
ccddeeff8899aabb4455667700112233
私はこのようにそれを置く:clear_msg = binascii.unhexlify(plaintxt_16b) NameError:それは私にエラーが発生しますplaintxt_16b = line_array binasciiインポートから[0時32分] unhexlify clear_msg = binascii.unhexlify(plaintxt_16b) :name 'binascii'が定義されていません – nani92
あなたは 'unhexlify'をインポートし、' binascii.unhexlify'を呼び出しました。 'unasclify(plaintxt_16b)' *のように呼び出すか、 'from binascii import unhexlify'の代わりに' import binascii'を実行します。 –
ありがとうございます – nani92