Python'long'对象没有'to_bytes'属性?

  发布于 2023-01-12 09:17

我试图使用从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的方法,所以我真的不明白这段代码是如何工作的?

有人知道这里有什么问题吗?我做错了什么,或者这个代码只是写错了?欢迎所有提示!

1 个回答
  • Python 2.7 intlong没有这个.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'
    

    2023-01-12 09:23 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有