Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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