gpt4 book ai didi

python - binascii.hexlify() 返回二进制字符串而不是整数

转载 作者:太空宇宙 更新时间:2023-11-03 15:18:43 24 4
gpt4 key购买 nike

我正在尝试自学 python,并且通常只是在弄乱它。不过,我遇到了一些问题。

基本上,我正在尝试制作一些东西,将字符串转换为二进制,将其移位 x,然后将其作为新字符串返回给您。

我发现实现此目标的最佳方法似乎是 binascii.hexlify(str)。

我遇到的问题是此方法似乎确实将二进制表示形式返回给我...但作为字符串??

我无法在字符串上调用 int(),我已经尝试了 bin(int()) 等的多种组合。我有点卡在这里,伙计们,任何帮助将不胜感激:-)

我知道我可能会以完全错误的方式解决这个问题,但是嘿。我正在自学...... :-)

请参阅下面的代码:

import binascii

password = raw_input("Enter your Password")
bits = int(raw_input("Shift By:"))

def getBinary(word):
return bin(int(binascii.hexlify(word), 16))

def shift(bin, num):
return bin << num

shift(getBinary(password), bits)

最佳答案

bin()hex() 等等只是数字的表示,以字符串的形式。为了能够进行移位等,您将值保持为整数!请记住,计算机中的每条数据无论如何都是二进制的。然后在输出时转换它。 int 的默认输出转换是将其打印为以 10 为底的数字,使用数字 0-9 ;)。因此尝试以下

import binascii

password = raw_input("Enter your Password: ")
bits = int(raw_input("Shift By: "))

def getBinary(word):
return int(binascii.hexlify(word), 16)

def shift(bin, num):
return bin << num

shifted = shift(getBinary(password), bits)
print bin(shifted)

关于python - binascii.hexlify() 返回二进制字符串而不是整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18339573/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com