kra*_*r65 2 python long-integer
我试图使用从Python编写的一个比特币地址验证在这里:
这个片段给我带来了麻烦:
def decode_base58(bc, length):
n = 0
for char in bc:
n = n * 58 + digits58.index(char)
return n.to_bytes(length, 'big')
Run Code Online (Sandbox Code Playgroud)
我知道n是int或long,但是没有一个名为to_bytes的方法,所以我真的不明白这段代码是如何工作的?
有人知道这里有什么问题吗?我做错了什么,或者这个代码只是写错了?欢迎所有提示!
Python 2.7 int并long没有这个.to_bytes方法.Python 3.2 int有这个.to_bytes方法.
Python 2.x的解决方法:
>>> length = 10
>>> n = 123456789
>>> ('%%0%dx' % (length << 1) % n).decode('hex')[-length:]
'\x00\x00\x00\x00\x00\x00\x07[\xcd\x15'
Run Code Online (Sandbox Code Playgroud)