我正在尝试完成一个将text2bin和bin2text转换成其他东西的程序,但是我遇到了bin2text函数的问题,但只有一些字符。 这是给我带来问题的部分:
def bin2text(self):
cadena2=' '
self.ventana.caja1.text()
split=[self.ventana.caja1.text()[x:x+8] for x in range(0,len(self.ventana.caja1.text()),8)]
for i in splits:
cadena2=cadena2+chr(int(i,2))
self.ventana.caja2.setText(cadena2)
我收到了错误:
Invalid literal for int() with base 2 '100000 1.... '
就行了
cadena2=cadena2+chr(int(i,2))
(椭圆点实际上不是错误的一部分,但图中的方向有箭头)
当我尝试从二进制文本转到文本时,使用“空格”或将ASCII传递给Bin的任何符号,数字由六位数组成,我得到错误。七位或八位数字有效。
我需要知道如何在本系列的开头添加0( 0 100000),以修复它
见下图:
答案 0 :(得分:0)
试试这个:
splits = self.ventana.caja1.text().split() #split by whitespace
for i in splits:
cadena2=cadena2+chr(int(i,2))
问题不在于数字位数,问题是您发送到'int'的字符串中的空格