pythonでbinaryからintに変換

2018年3月10日 - 未分類

python2.7で、変数aに、\x00’が入っていたとします。これをintの0として認識したいのですが、なかなかうまく行きませんでした。

In [3]: a='\x00'
In [4]: type(a)
Out[4]: str
In [5]: int(a)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-5-c8db2292b237> in <module>()
----> 1 int(a)
ValueError: invalid literal for int() with base 10: ''

試行錯誤の結果、以下のようにすればうまくいきました。結構、時間がかかってしまいました。

import binascii
a='\x00’
data=binascii.hexlify(a)
data = int(binascii.hexlify(data),16)

 

Translate »