关于Python3字符串转换为字节流的问题

新手上路,请多包涵
un = 'BZh91AY&SYA\xaf\x82\r\x00\x00\x01\x01\x80\x02\xc0\x02\x00 \x00!\x9ah3M\x07<]\xc9\x14\xe1BA\x06\xbe\x084'
pw = 'BZh91AY&SY\x94$|\x0e\x00\x00\x00\x81\x00\x03$ \x00!\x9ah3M\x13<]\xc9\x14\xe1BBP\x91\xf08'

做PythonChallenge 8的时候获取到用户名和密码的加密字符串
我应该怎么将un变量转换为

b'BZh91AY&SYA\xaf\x82\r\x00\x00\x01\x01\x80\x02\xc0\x02\x00 \x00!\x9ah3M\x07<]\xc9\x14\xe1BA\x06\xbe\x084'

意思是,如果直接操作字符串

s = bz2.decompress(b'BZh91AY&SYA\xaf\x82\r\x00\x00\x01\x01\x80\x02\xc0\x02\x00 \x00!\x9ah3M\x07<]\xc9\x14\xe1BA\x06\xbe\x084')
print(s)
>>huge

可以得出结果

s = bz2.decompress(un)
print(s)

报错,因为un是字符串类型而不是字节流类型
如果将un转换为字节流类型

print(un.encode('utf-8'))
>>b'BZh91AY&SY\xc2\x94$|\x0e\x00\x00\x00\xc2\x81\x00\x03$ \x00!\xc2\x9ah3M\x13<]\xc3\x89\x14\xc3\xa1BBP\xc2\x91\xc3\xb08'

b'BZh91AY&SYA\xaf\x82\r\x00\x00\x01\x01\x80\x02\xc0\x02\x00 \x00!\x9ah3M\x07<]\xc9\x14\xe1BA\x06\xbe\x084'

并不相同

求解答,谢谢各位

求解答

阅读 7.1k
1 个回答
un.encode('latin1')
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进