Python 提取十六进制编码字符串的一部分
给定字符串:Python 提取十六进制编码字符串的一部分,python,string,hex,pyserial,Python,String,Hex,Pyserial,给定字符串:aa0a051c1400,如何提取05或1c?我正在读取串行响应,我需要检查十六进制数据的片段,以破译在这个初始数据包之后有多少数据从管道中流出。只需按索引解析字符串就可以了。如果要按字符索引进行分析: from binascii import hexlify, unhexlify def get_hex(stream, idx): return hexlify(unhexlify(stream)[idx]) get_hex('aa0a051c1400', 0) 'aa'
aa0a051c1400
,如何提取05
或1c
?我正在读取串行响应,我需要检查十六进制数据的片段,以破译在这个初始数据包之后有多少数据从管道中流出。只需按索引解析字符串就可以了。如果要按字符索引进行分析:
from binascii import hexlify, unhexlify
def get_hex(stream, idx):
return hexlify(unhexlify(stream)[idx])
get_hex('aa0a051c1400', 0)
'aa'
只需通过索引解析字符串就可以了。如果要按字符索引进行分析:
from binascii import hexlify, unhexlify
def get_hex(stream, idx):
return hexlify(unhexlify(stream)[idx])
get_hex('aa0a051c1400', 0)
'aa'
模式是什么?我想你会用正则表达式来做这个
import re
是否始终要查找“05”和“1c”,或者字符串中的its位置是否重要?真的不清楚您想要什么。您的输入数据是ascii字符串“aa0a051c1400”还是二进制字符串“\xaa\x0a\x05\x1c\x14\x00”@LarryBattle-如果它是在寻找静态字符串,则不需要正则表达式。我想我回答了我自己的问题。。。有时会发生这种情况。尽管如此,投入还是受到了高度鼓励,并得到了回报。按照上面的例子,要在上面的十六进制编码字符串中捕获“05”,只需计算每一端需要修剪的字符数,以获得重要内容。对于'05(第5和第6个字符):>>>string='aa0a051c1400'>>>part1=string[4:-6]>>>part1'05'的模式是什么?我想你会用正则表达式来做这个import re
是否始终要查找“05”和“1c”,或者字符串中的its位置是否重要?真的不清楚您想要什么。您的输入数据是ascii字符串“aa0a051c1400”还是二进制字符串“\xaa\x0a\x05\x1c\x14\x00”@LarryBattle-如果它是在寻找静态字符串,则不需要正则表达式。我想我回答了我自己的问题。。。有时会发生这种情况。尽管如此,投入还是受到了高度鼓励,并得到了回报。按照上面的例子,要在上面的十六进制编码字符串中捕获“05”,只需计算每一端需要修剪的字符数,以获得重要内容。对于'05(第5和第6个字符):>>>string='aa0a051c1400'>>>part1=string[4:-6]>>>part1'05'