我正在尝试使用Python查看传输流,并读取第一个字节。完成此操作后,我将检查此字节是否为0x47,以确定传输流是否为有效的。
这是我尝试过的代码:
with open("my_ts_file.ts", "rb") as file_object: byte = file_object.read(1) if byte == 0x47: print("Found first sync byte") print(byte) else: print("Not a valid Transport Stream") print(byte)
因此,如果第一个字节为0x47,则应显示该字节。
我在这里遇到的问题是此代码的输出显示:
Not a valid Transport Stream b'G'
并且正如@szatmary在这里指出的:Using Python to extract the first 188-byte packet from MPEG Transport Stream but do not see the sync byte字母G实际上是0x47(十六进制)的ASCII表示形式。
我如何有效地比较基本相同的值,但是用两种不同的方式表示?
我正在尝试使用Python查看传输流,并读取第一个字节。完成此操作后,我将检查此字节是否为0x47,以确定传输流是否有效。这是...
您需要将0x47
转换为使用chr()
表示的字符串: