擅长:python、mysql、java
<p>这就是struct包的真正用途(以及bytes.fromhex)</p>
<pre><code>>>> import struct
>>> s = "0001001447364B5F48312E305F56312E312E3165000300133836333932313033343330343337310004000838303634000200154D414A3258584D524A32444A363135303900050005010006000843415244000700094341524431000800050000090018383939313035323138303935393533303834300D000A000E706F7274616C6E6D6D73"
>>> mbytes = bytes.fromhex(s)
>>> msg_id,msg_size = struct.unpack(">hh",mbytes[:4])
# 1, 20
>>> msg_bytes = struct.unpack_from("{}s".format(msg_size),mbytes[4:])[0]
>>> msg_hex = bytes.hex(msg_bytes)
# 47364b5f48312e305f56312e312e316500030013
# which i think is what you actually want... but if you actually think size represents each character in that string you will need to make a modification
>>> alt_hex = s[8:][msg_size]
# 47364b5f48312e305f56 ( which i think is the wrong value...)
</code></pre>