作为一个较长项目的一部分,我已经尝试使用pyaudio和wave库对python进行音频编码和解码。
我首先创建了一个子程序,该子程序从wave文件中读取数据,并且每次从wave文件中读取一帧数据时,都会通过转换从wave文件中接收到的字节串将其写入文本文件中。可以写入文本文件的字符串。
很好,但是我对出现的某些字符感到非常困惑,我想知道是否对这些字符在字节串的上下文中的实际含义/含义有任何解释,或者它们是否错误而且我的程序有错误:
b'*\x0f+\x0f'
(我没想到会有*
或+
)
b'+\x03)\x03'
(我没想到会有+
或)
)
b'@\xf2D\xf2'
(我没想到会有@
或D
)
还有其他几种奇怪的组合,但是对这些字符是否有任何解释,这些解释又可以使我对其他异常字符的理解更加清楚?我对理解字节串还很陌生,所以请记住这一点。
答案 0 :(得分:4)
如果可能,将显示byte
值中的一个字节作为由该字节编码的ASCII字符。
>>> ord('*')
42
>>> b'\x2a' # 0x2a == 42
b'*'
否则,将使用\xXX
格式。
>>> b'\x00\x2a' # Two bytes: the null byte and 42
b'\x00*'