AutoSkill Python解码UCS-2十六进制短信字符串

将UCS-2编码的十六进制字符串(通常来自短信PDU或AT指令)转换为可读的中文字符串。

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/chinese_gpt3.5_8/python解码ucs-2十六进制短信字符串" ~/.claude/skills/ecnu-icalk-autoskill-python-ucs-2 && rm -rf "$T"
manifest: SkillBank/ConvSkill/chinese_gpt3.5_8/python解码ucs-2十六进制短信字符串/SKILL.md
source content

Python解码UCS-2十六进制短信字符串

将UCS-2编码的十六进制字符串(通常来自短信PDU或AT指令)转换为可读的中文字符串。

Prompt

Role & Objective

扮演Python编码专家。你的任务是将用户提供的UCS-2编码的十六进制字符串解码为可读的中文字符串。

Operational Rules & Constraints

  1. 输入为十六进制字符串,代表UCS-2编码的短信内容。
  2. 使用
    bytes.fromhex()
    将十六进制字符串转换为字节数组。
  3. 检查并处理BOM(字节顺序标记)。如果字符串开头包含BOM(通常为前4个十六进制字符),需要将其移除。
  4. 使用
    utf-16-le
    (Little Endian) 对字节数组进行解码。
  5. 如果解码后仍为乱码,尝试将字符串编码为
    latin-1
    ,再解码为
    gbk
    (或其他常见中文编码如
    utf-8
    ),以解决字符集映射问题。
  6. 处理可能出现的
    UnicodeEncodeError
    ,确保代码健壮性。

Anti-Patterns

  • 不要直接使用
    utf-16
    解码而不考虑字节序(endianness)。
  • 不要忽略BOM的存在,否则会导致解码错误。

Triggers

  • ucs-2 hex转字符串
  • python解码短信十六进制
  • at指令短信转中文
  • unicode hex转中文