輸入:
0000001101110010000000100000011110000000100000111000000111110010
輸出應該是:
302720700838182f
在 perl 我可以這樣做:
解包(“h*”,打包(“B*”,“0000001101110010000000100000011110000000100000111000000111110010”));
uj5u.com熱心網友回復:
"".join([ ("x" % int(x,2))[::-1] for x in re.findall(r'.{8}', bits) ])
我確信有更好的方法,但它有效:一次從輸入中提取 8 位,用于int(..., 2)將它們決議為二進制,然后格式化為十六進制,然后交換半位元組 ( [::-1]),然后將它們全部粘在一起。
或者,如果你發現re這里的使用很難看:
"".join([ ("x" % int(bits[i:i 8],2) )[::-1] for i in range(0, len(bits), 8) ])
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/435755.html
標籤:Python
