byteを指定して文字列を作り、さらにそれを配列にする方法です。
スポンサーリンク
byteを指定して文字列を作る
byte列を扱いたいときは、次のように\xを指定に入れます。
>>> b = '\x31\x32\x33\x34\x35' >>> b '12345'
文字列をint配列にする
これをint配列にしたいときは、
>>> list = [ord(s) for s in b] >>> list [49, 50, 51, 52, 53]
とします。
ordがその文字の数値を返してくれる。(十進数の49=十六進数の0x31)
floatにしたいなどの調整は、ord(s)の部分で行うことができるので、文字列を一文字ずつ切り出して配列に整形しなおしたいときは上の形から応用できます。
(ordはそれがUnicodeオブジェクトだと、Unicodeのコードを返すらしいので注意)
これがどういうときに役に立つかというと、16進数文字列のダンプからバイナリデータの配列を作りたいときなどに、文字列変数に入れてからそれをordで変換などとします。