我是python世界的新手,我得到了一个我不确定的输入错误:
...File "/home/simon/python/piptroubleshoot/Main.py", line 15, in main
hexToBase64(u'49276d206b696c6c696e6720796f757220627261696e206c696b65206120706f69736f6e6f7573206d757368726f6f6d')
File "/home/simon/python/piptroubleshoot/Main.py", line 10, in hexToBase64
base64.b64encode(hex(stream.read(4)))
TypeError: 'BitStream' object cannot be interpreted as an integer有什么想法吗?这是有问题的代码行的星号:
def hexToBase64(i: hex):
stream = bitstring.BitStream(hex=i)
while stream.length > 0:
**base64.b64encode(hex(stream.read(4)))**
def main():
""" Main program """
print(u'49276d206b696c6c696e6720796f757220627261696e206c696b65206120706f69736f6e6f7573206d757368726f6f6d')
hexToBase64(u'49276d206b696c6c696e6720796f757220627261696e206c696b65206120706f69736f6e6f7573206d757368726f6f6d')
return 0
if __name__ == "__main__":
main()发布于 2021-05-14 01:24:53
你给十六进制函数一个BitStream参数,而不是整数。此外,在while循环中使用stream.length也不会减少。
但是你可以使用下面的代码来encodeb64。
def hexToBase64(i: hex):
stream = bitstring.BitStream(hex=i)
base64.b64encode((stream.read(stream.length).hex.encode()))https://stackoverflow.com/questions/67522868
复制相似问题