我试图使用从Python编写的一个比特币地址验证在这里:
这个片段给我带来了麻烦:
def decode_base58(bc, length): n = 0 for char in bc: n = n * 58 + digits58.index(char) return n.to_bytes(length, 'big')
我知道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'