我创建了自己的AES版本(婴儿版)然而一切正常。
某些二进制数字会以某种方式获得' b'在他们的例子中:b1b10101
我不太了解python如何使用二进制转换但是在尝试使用:pepee = int(pepe,2)
转换为小数时。当字符串包含' b'。
我在这里找到了另一个针对此错误的答案,但是该解决方案对我不起作用。使用'格式(pepe,' b')'为我抛出一个错误。 我怀疑它是为Python 2编写的。
我需要知道,如何阻止这些b在我的二进制字符串中出现,或者我如何将它们转换回原始位值。
示例代码:
subList2 = ['b1', 'b1', '00', '00']
subStr = b1b10000
subStr = ''.join(subList2)
subDec = int(subStr,2)
请注意我并不打算将这些b出现在字符串中,它们会在运行时出现
答案 0 :(得分:1)
您是否尝试制作一个简单的代码片段来转换二进制字符串?你从哪里得到二进制字符串?例如,如果您使用bin()
创建二进制字符串,则该字符串将包含“b
”字符。
print(bin(10))
# Outputs: 0b1010
但如果您使用format(int, 'b')
,则不会包含“b
”。
# Set test to a binary string and print it
test = '101001'
print(test)
# Convert test from binary string to int and print it
test = int(test, 2)
print(test)
# Convert test from int to binary string and print it
test = format(test, 'b')
print(test)
答案 1 :(得分:0)
确定, 我搞定了。 我在我的代码中发生了一个无意义的错误,即产生二进制转换的减号。它创建了这些'b'字符代替减号。现在已经修好了。