我有一个外部应用程序,在数据的开头附加数据包的长度.类似下面的代码:
x = "ABCDE" x_len = len(x) y = "GHIJK" y_len = len(y) test_string = chr(x_len) + x + chr(y_len) + y #TODO:perform base64 encoding
在代码的客户端,我需要能够提取x_len和y_len并且可以读取x和y.
#TODO:perform base64 decoding x_len = int(test_string[0]) x = test_string[:x_len]
我收到以下错误:ValueError:int()的基数为10的无效文字:'\ x05'
我假设int的参数是十六进制的,所以我在传递给int之前需要做一些解码.有人可以给我一个指针,说明从解码中使用什么功能,或者有没有更简单的方法来完成这个?
你可能想要ord()
,而不是int()
,因为ord()
是相反的操作chr()
.
请注意,您的代码仅适用于长度,255
因为这是最大chr()
和ord()
支持.