我正在使用这个库进行一个项目,但我遇到了这个问题,我正在等待有人修复它,因为我没有尝试过让我的工作,这就是我所做的
从 github 克隆存储库
经测试可在 python3.5 上工作
在yowsup/layers/axolotl/layer.py
替换第 192 行,即
191 padded.extend(self.encodeInt7bit(len(plaintext)))
192 padded.extend(plaintext) # this is the line. replace it
193 padded.append(ord("\x01"))
有了这个
padded.extend(plaintext.encode() if isinstance(plaintext,str) else plaintext)
在此线程中添加@jlguardi 修复,但我必须对其进行一些修改才能为我工作
def decodeInt7bit(self, string):
idx = 0
while string[idx] >= 128:
idx += 1
consumedBytes = idx + 1
value = 0
while idx >= 0:
value <<= 7
value += string[idx] % 128
idx -= 1
return value, consumedBytes
def unpadV2Plaintext(self, v2plaintext):
print(v2plaintext)
v2plaintext=bytearray(v2plaintext,'utf8') if isinstance(v2plaintext,str) else v2plaintext
end = (-(v2plaintext[-1])) # length of the left padding
length,consumed = self.decodeInt7bit(v2plaintext[1:])
return v2plaintext[1+consumed:end]
在客户端看起来很干净
乱码虽然仍然出现在服务器上
不安装setup.py install
希望这对你有用