Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

Pythonでバイトリテラルやるなら、やっぱり一バイトごとにやらんといけない

組み込み機器で使うデータ列を生成するとき、pythonで適当に書き捨てたられたら便利ですね。
これ、format構文を使えば楽です。

実際のところ

単純にバイトリテラルな値を操作したい場合

'\x12' + '\x01'
#>> '\x12\x01'

文字列と同じ扱いでできるので

'\x12\x01'[0]
#>> '\x12'

'\x12\x01'[1]
#>> '\x01'

横着すると……

一バイトごとでしか扱わないので、横着して複数バイト分ぶち込んでもアスキー文字の数値が入ってるだけです。

'\x12' + '\x0100'
'\x12\x0100'

'\x12\x0100'[2]
'0'

リンク

01な値を出力したい場合やHex値の文字列を生成したい場合は過去の記事に参考になるのがあるかもしれません

shuzo-kino.hateblo.jp

shuzo-kino.hateblo.jp

shuzo-kino.hateblo.jp

参考もと

stackoverflow.com