#!/usr/bin/env python3
|
# -*- coding: utf-8 -*-
|
"""
|
解析msgpack数据
|
"""
|
|
import msgpack
|
import json
|
|
# 原始十六进制数据
|
hex_data = "83 a2 69 64 af 70 61 74 68 5f 61 62 63 5f 31 32 33 34 35 36 a6 70 6f 69 6e 74 73 96 01 cb 40 04 00 00 00 00 00 00 cb 40 09 1e b8 51 eb 85 1f 04 00 cb bf f1 99 99 99 99 99 9a a8 63 68 65 63 6b 73 75 6d ce fc 66 60 d2"
|
|
# 转换为字节数据
|
byte_data = bytes.fromhex(hex_data.replace(' ', ''))
|
|
print(f"原始字节数据长度: {len(byte_data)} 字节")
|
print(f"原始字节数据: {byte_data.hex(' ')}")
|
print()
|
|
# 使用msgpack解析
|
print("=== msgpack解析结果 ===")
|
try:
|
result = msgpack.unpackb(byte_data, raw=False)
|
print(f"解析成功!")
|
print(f"\n类型: {type(result).__name__}")
|
print(f"\n内容:")
|
print(json.dumps(result, indent=2, ensure_ascii=False))
|
except Exception as e:
|
print(f"msgpack解析失败: {e}")
|
import traceback
|
traceback.print_exc()
|