Install
openclaw skills install @thcjp/encoding-toolkit-freeopenclaw skills install @thcjp/encoding-toolkit-free本 Skill 聚焦日常开发与运维场景下最高频的编解码任务,提供"诊断—选择—执行"三段式工作流,避免用户在多个工具间反复切换。免费版覆盖六大主流场景,满足绝大多数日常调试需求。
数据在传输、存储、显示过程中经常要在不同格式之间转换。常见痛点包括:Base64 字符串看起来像乱码却不知道如何还原;URL 中的中文参数被转义成 %E4%B8%96 导致拼接失败;JWT Token 黑盒难调试;下载文件后无法快速校验完整性。本 Skill 把这些零散任务统一为一套诊断式工作流,让 Agent 在接收到输入后先判断类型,再选择最合适的工具链。
| 能力模块 | 输入示例 | 输出 | 适用场景 |
|---|---|---|---|
| Base64 编解码 | Hello, World! / SGVsbG8sIFdvcmxkIQ== | 双向转换 | API 响应解析、邮件附件、数据嵌入 |
| URL 编解码 | hello world & foo=bar | hello%20world%20%26%20foo%3Dbar | HTTP 请求拼装、参数解析 |
| Hex 视图与转换 | Hello / 48656c6c6f | 字节序检视、字符串互转 | 二进制调试、协议分析 |
| Unicode 检视 | Hello 世界 | 码点、UTF-8 字节序列 | 字符集问题排查、国际化 |
| JWT 解析 | eyJ...eyJ... | Header / Payload JSON | Token 调试、过期检查 |
| 哈希与校验和 | Hello / 文件 | MD5、SHA-256、SHA-512 | 完整性校验、去重 |
用input_params参数进行配置。
输入: 用户提供核心功能执行所需的指令和必要参数。 处理: 解析核心功能执行的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回核心功能执行的响应数据,包含状态码、结果和日志。
input_params参数,支持创建/查询/导出操作用config_options参数进行配置。
输入: 用户提供参数配置与调用所需的指令和必要参数。 处理: 解析参数配置与调用的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回参数配置与调用的响应数据,包含状态码、结果和日志。
config_options参数,支持修改/重置/导入操作用output_format参数进行配置。
输入: 用户提供结果处理与输出所需的指令和必要参数。 处理: 解析结果处理与输出的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回结果处理与输出的响应数据,包含状态码、结果和日志。
output_format参数,支持导出/保存/转换操作
能力覆盖范围:本skill的核心能力覆盖以下场景关键词:等主流编解码场景、命令行与代码示例、适合日常开发调试、编解码工具箱免费、版面向开发者与运、维人员、提供主流数据格式、的快速编码、解码与转换能力、核心覆盖、解析与哈希校验六、大场景、配套命令行与多语、言代码片段、帮助用户在、秒内完成常见任务、Use、when、需要代码生成、编程辅助、调试测试、开发部署时使用、不适用于无明确技、术栈的模糊需求等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持。后端返回的图片缩略图以 Base64 形式嵌入 JSON,前端需要还原为二进制保存为文件。Agent 应识别字段类型,使用对应语言的 Base64 解码函数,避免手工拼凑。
前端拼接 URL 时直接把中文写入查询字符串,导致服务端解析失败。通过 URL 编码可确保特殊字符正确转义,Agent 应优先使用语言内置的 encodeURIComponent 或 urllib.parse.quote,而非手工替换。
用户登录后突然被踢出,怀疑 Token 已过期。Agent 解析 JWT 的 exp 字段,与当前时间比较,给出明确结论。
从镜像站下载大型安装包后,需要确认文件未被篡改。Agent 计算 SHA-256 并与官方公布的校验和比对。
# 1. Base64 编码
echo -n "Hello, World!" | base64
# 输出:SGVsbG8sIFdvcmxkIQ==
# ...
# 2. Base64 解码
echo "SGVsbG8sIFdvcmxkIQ==" | base64 -d
# 输出:Hello, World!
# ...
# 3. URL 编码
python3 -c "from urllib.parse import quote; print(quote('hello world & foo=bar'))"
# 输出:hello%20world%20%26%20foo%3Dbar
# ...
# 4. SHA-256 哈希
echo -n "Hello" | sha256sum
# 输出:185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969
# ...
# 5. JWT 解析(仅查看 Payload)
echo "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMifQ.signature" | cut -d. -f2 | tr '-_' '+/' | base64 -d 2>/dev/null
import base64
from urllib.parse import unquote
import re
# ...
def smart_decode(text: str) -> str:
"""自动识别并尝试解码 Base64 / URL / JWT / Hex。"""
# JWT 优先匹配
if re.match(r'^eyJ[A-Za-z0-9_-]+\.eyJ[A-Za-z0-9_-]+\.', text):
payload = text.split('.')[1]
padded = payload + '=' * (-len(payload) % 4)
return base64.urlsafe_b64decode(padded).decode('utf-8', errors='replace')
# URL 编码
if '%' in text and re.search(r'%[0-9A-Fa-f]{2}', text):
return unquote(text)
# Hex
if re.fullmatch(r'[0-9a-fA-F]+', text) and len(text) % 2 == 0:
return bytes.fromhex(text).decode('utf-8', errors='replace')
# Base64
try:
return base64.b64decode(text, validate=True).decode('utf-8')
except Exception:
return text
# ...
print(smart_decode('SGVsbG8sIFdvcmxkIQ=='))
const crypto = require('crypto');
const fs = require('fs');
// ...
function fileSha256(path) {
const hash = crypto.createHash('sha256');
const stream = fs.createReadStream(path);
stream.on('data', chunk => hash.update(chunk));
stream.on('end', () => console.log(hash.digest('hex')));
}
fileSha256('./package.tar.gz');
-、_ 替换 +、/),避免特殊字符引发解析错误。A:先确认输入是否为标准 Base64(是否含 + /),如果是 URL 安全变体需先做 tr '-_' '+/' 替换;其次确认原始数据是否本身就是二进制而非文本,二进制应直接写入文件而非打印。
encodeURI 还是 encodeURIComponent?A:拼接完整 URL 时用 encodeURI(保留 ://?&);拼接查询参数值时用 encodeURIComponent(编码所有特殊字符)。常见错误是混用导致 & 被编码破坏参数边界。
A:解码 Payload 后查看 exp 字段(Unix 时间戳),与当前时间比较。注意服务端与客户端时钟不同步可能导致误判,建议留 30 秒缓冲。
A:检查输入是否带末尾换行符。echo "Hello" 会附加 \n,而 echo -n "Hello" 不会。文件哈希同理,确保两端使用相同读取模式。
A:UTF-8 BOM 为 EF BB BF,使用 sed -i '1s/^\xEF\xBB\xBF//' file.txt 移除,或在 Python 中以 encoding='utf-8-sig' 读取自动剥离。
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由 Agent 平台内置 LLM 提供 |
| coreutils (base64/od/xxd) | 系统工具 | 可选 | Linux/macOS 自带,Windows 通过 WSL 或 Git Bash |
| Python3 | 运行时 | 可选 | 官网下载,部分示例依赖 |
| Node.js | 运行时 | 可选 | 官网下载,JavaScript 示例依赖 |
本免费体验版限制以下高级功能:
解锁全部功能请使用专业版:encoding-toolkit-pro
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |
{
"success": true,
"data": {
"result": "编解码工具箱免费版处理结果",
"execution_time": "0.5s",
"metadata": {
"version": "1.0",
"processor": "encodingkit"
}
},
"execution_log": ["解析输入参数", "执行核心处理", "格式化输出结果"],
"error": null
}