我知道Java和Python在处理字节时有所不同,因此我有些困惑如何将byte[]转换为Python字符串。我有一个Java中的byte[]。
{ 118, -86, -46, -63, 100, -69, -30, -102, -82, -44, -40, 92, 0, 98, 36, -94 }
我想将其转换为Python字符串,以下是我的处理方法:
b=[118, -86, -46, -63, 100, -69, -30, -102, -82, -44, -40, 92, 0, 98, 36, -94]
str=""
for i in b:
str=str+chr(abs(i))
但是我不确定这是否是正确的做法。
byte
是Java中的数据类型,它不对应于Python的bytestrings。尽管您可以从中获得结果,但它很可能是没有意义的。 - Eli Sadoffint
转换为str
的最小示例。 - Kevin J. Chaseb=[118, ...]
时,你已经将它转换为Python了。你真正的问题可能更像是“如何将Python列表转换为字符串?”或者“如何将许多Python整数转换为字符串?”。第一个可能是str(b)
或repr(b)
;第二个则类似于' '.join(str(x) for x in b)
。另请参阅str.join
文档。 - Kevin J. Chase