16 進数値の後に整数を取得する方法がわかりません... 1、2、またはx桁であるはずですか?
だから、私はこれを行います:
import re
# convert unicode or string to raw
def raw(s):
if isinstance(s, str):
s = s.encode('string-escape')
elif isinstance(s, unicode):
s = s.encode('unicode-escape')
return s
s = '\x1e\x00\x00\x00\xf0\x0f184203308373388492761797873987'
print [ re.sub(r'\\', r'0', raw(i)) for i in s]
そして、私はこれを取得します:
['0x1e', '0x00', '0x00', '0x00', '0xf0', '0x0f', '1', '8', '4', '2', '0', '3', '3', '0', '8', '3', '7', '3', '3', '8', '8', '4', '9', '2', '7', '6', '1', '7', '9', '7', '8', '7', '3', '9', '8', '7']
それが役立つことを願っています
編集:リストの理解を簡素化
編集:実際に16進数以外の値を取り除きたい場合は、使用できます
>>> print [int(re.sub(r'\\', r'0', raw(i)), 16) for i in s if len(raw(i))>1]
[30, 0, 0, 0, 240, 15]
DSMが述べたように、比較...またはさらに良い方法
>>> s = '\x1e\x00\x00\x00\xf0\x0f184203308373388492761797873987'
>>> ord(max(s))
240