包含“ *”,“ +”,“)”,“ @”以及其他不寻常字符的字节串

时间:2019-05-28 21:30:04

标签: python

作为一个较长项目的一部分,我已经尝试使用pyaudio和wave库对python进行音频编码和解码。

我首先创建了一个子程序,该子程序从wave文件中读取数据,并且每次从wave文件中读取一帧数据时,都会通过转换从wave文件中接收到的字节串将其写入文本文件中。可以写入文本文件的字符串。

很好,但是我对出现的某些字符感到非常困惑,我想知道是否对这些字符在字节串的上下文中的实际含义/含义有任何解释,或者它们是否错误而且我的程序有错误:

  • b'*\x0f+\x0f'(我没想到会有*+

  • b'+\x03)\x03'(我没想到会有+)

  • b'@\xf2D\xf2'(我没想到会有@D

还有其他几种奇怪的组合,但是对这些字符是否有任何解释,这些解释又可以使我对其他异常字符的理解更加清楚?我对理解字节串还很陌生,所以请记住这一点。

1 个答案:

答案 0 :(得分:4)

如果可能,将显示byte值中的一个字节作为由该字节编码的ASCII字符。

>>> ord('*')
42
>>> b'\x2a'  # 0x2a == 42
b'*'

否则,将使用\xXX格式。

>>> b'\x00\x2a'  # Two bytes: the null byte and 42
b'\x00*'