16 進コマンドで制御できるハードウェアを使用しています。ASCII コマンドを使用する他のデバイスの telnet 制御に使用する Python コードのスニペットを既にいくつか持っています。
16 進コマンドを送信するにはどうすればよいですか? たとえば、skt.send('some ascii command\r')
16 進数値を変更するにはどうすればよいですか?また、それらの値を格納するのに最適なデータ型は何ですか?
ありがとう。
16 進コマンドで制御できるハードウェアを使用しています。ASCII コマンドを使用する他のデバイスの telnet 制御に使用する Python コードのスニペットを既にいくつか持っています。
16 進コマンドを送信するにはどうすればよいですか? たとえば、skt.send('some ascii command\r')
16 進数値を変更するにはどうすればよいですか?また、それらの値を格納するのに最適なデータ型は何ですか?
ありがとう。
Python 2では、文字列リテラルを使用します。
skt.send('\x12\r')
Python 3では、バイトリテラルまたはbytes.fromhex
:を使用します
skt.send(b'\x12\r')
skt.send(bytes.fromhex('12 0d'))
いずれの場合も、このbytearray
型は、整数とバイトリテラルを使用して作成できる可変(変更可能)型であるため、おそらく便利です。
skt.send(bytearray([0x02, 0x03, 0x00, 0x00, 0x05]))
Python 3 では、優れたbytes.fromhex()
機能も備えています。
>>> bytes.fromhex('AA 11 FE')
b'\xaa\x11\xfe'
>>> bytes.fromhex('AA11FE')
b'\xaa\x11\xfe'