按位位切片。
bitn的Python项目详细描述
比特.比特宾在
- 超快速位切片。在
- 无位复杂度的位移速度。在
评论
该死的儿子,这很好。{strong} . 在
安装
pipinstallbitn
帮助(BitBin)
^{pr2}$
我以前经常这样做
fromstructimportunpacksync,two_bytes,one_byte=unpack('>BHB',packet[:4])tei=two_bytes>>15pusi=two_bytes>>14&0x1ts_priority=two_bytes>>13&0x1pid=two_bytes&0x1fffscramble=one_byte>>6afc=(one_byte&48)>>4count=one_byte&15
现在我用bitn来做这个
frombitnimportBitBinheader=BitBin(packet[:4])sync=header.asint(8)tei=header.asflag(1)pusi=header.asflag(1)ts_priority=header.asflag(1)pid=header.asint(13)scramble=header.asint(2)afc=header.asint(2)count=header.asint(4)
示例用法
- 从十六进制编码字符串解析SCTE 35拼接信息部分
>>>frombitnimportBitBin>>>bites=bytes.fromhex('FC302F000000000000FFFFF00506FEAEF17C4C0019021743554549480000077F9F0808000000002CA56C97110000C4876A2E')>>>classSplice_Info_Section:def__init__(self,bitbin):self.table_id=bitbin.ashex(8)self.section_syntax_indicator=bitbin.asflag(1)self.private=bitbin.asflag(1)self.reserved=bitbin.asint(2)self.section_length=bitbin.asint(12)self.protocol_version=bitbin.asint(8)self.encrypted_packet=bitbin.asflag(1)self.encryption_algorithm=bitbin.asint(6)self.pts_adjustment=bitbin.as90k(33)self.cw_index=bitbin.ashex(8)self.tier=bitbin.ashex(12)self.splice_command_length=bitbin.asint(12)self.splice_command_type=bitbin.asint(8)>>>bitbin=BitBin(bites)>>>sps=Splice_Info_Section(bitbin)>>>vars(sps){'table_id':'0xfc','section_syntax_indicator':False,'private':False,'reserved':3,'section_length':47,'protocol_version':0,'encrypted_packet':False,'encryption_algorithm':0,'pts_adjustment':'0.000000','cw_index':'0xff','tier':'0xfff','splice_command_length':5,'splice_command_type':6,'descriptor_loop_length':25}>>>
- 项目
标签: