TTokenySpace
返回 Skills 列表

Encoding Toolkit Free

提供Base64、URL、Hex、Unicode、JWT及哈希等主流格式的编码、解码和校验,支持命令行及多语言代码示例,助力开发调试。

#中文
0

安装到 Tokeny(自动)

下载 ZIP
安装"encoding-toolkit-free"技能
技能信息:
- 名称: Encoding Toolkit Free
- 标识: encoding-toolkit-free
- 描述: 提供Base64、URL、Hex、Unicode、JWT及哈希等主流格式的编码、解码和校验,支持命令行及多语言代码示例,助力开发调试。
- 版本: 1.0.0
下载地址:
https://www.tokeny.space/api/skills/encoding-toolkit-free/download
继续

复制上方内容到 Tokeny 客户端并在会话中发送即可自动安装;也可直接 下载 ZIP并拖动到技能窗口安装。

SKILL.md

编解码工具箱(免费版)

本 Skill 聚焦日常开发与运维场景下最高频的编解码任务,提供"诊断—选择—执行"三段式工作流,避免用户在多个工具间反复切换。免费版覆盖六大主流场景,满足绝大多数日常调试需求。

概述

数据在传输、存储、显示过程中经常要在不同格式之间转换。常见痛点包括:Base64 字符串看起来像乱码却不知道如何还原;URL 中的中文参数被转义成 %E4%B8%96 导致拼接失败;JWT Token 黑盒难调试;下载文件后无法快速校验完整性。本 Skill 把这些零散任务统一为一套诊断式工作流,让 Agent 在接收到输入后先判断类型,再选择最合适的工具链。

核心能力

能力模块输入示例输出适用场景
Base64 编解码Hello, World! / SGVsbG8sIFdvcmxkIQ==双向转换API 响应解析、邮件附件、数据嵌入
URL 编解码hello world & foo=barhello%20world%20%26%20foo%3DbarHTTP 请求拼装、参数解析
Hex 视图与转换Hello / 48656c6c6f字节序检视、字符串互转二进制调试、协议分析
Unicode 检视Hello 世界码点、UTF-8 字节序列字符集问题排查、国际化
JWT 解析eyJ...eyJ...Header / Payload JSONToken 调试、过期检查
哈希与校验和Hello / 文件MD5、SHA-256、SHA-512完整性校验、去重

核心功能执行

input_params参数进行配置。

输入: 用户提供核心功能执行所需的指令和必要参数。 处理: 解析核心功能执行的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回核心功能执行的响应数据,包含状态码、结果和日志。

  • 执行此能力时使用input_params参数,支持创建/查询/导出操作

参数配置与调用

config_options参数进行配置。

输入: 用户提供参数配置与调用所需的指令和必要参数。 处理: 解析参数配置与调用的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回参数配置与调用的响应数据,包含状态码、结果和日志。

  • 执行此能力时使用config_options参数,支持修改/重置/导入操作

结果处理与输出

output_format参数进行配置。

输入: 用户提供结果处理与输出所需的指令和必要参数。 处理: 解析结果处理与输出的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回结果处理与输出的响应数据,包含状态码、结果和日志。

  • 执行此能力时使用output_format参数,支持导出/保存/转换操作 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:等主流编解码场景、命令行与代码示例、适合日常开发调试、编解码工具箱免费、版面向开发者与运、维人员、提供主流数据格式、的快速编码、解码与转换能力、核心覆盖、解析与哈希校验六、大场景、配套命令行与多语、言代码片段、帮助用户在、秒内完成常见任务、Use、when、需要代码生成、编程辅助、调试测试、开发部署时使用、不适用于无明确技、术栈的模糊需求等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持。

使用场景

场景一:API 响应里的 Base64 字段解析

后端返回的图片缩略图以 Base64 形式嵌入 JSON,前端需要还原为二进制保存为文件。Agent 应识别字段类型,使用对应语言的 Base64 解码函数,避免手工拼凑。

场景二:URL 中文参数丢失

前端拼接 URL 时直接把中文写入查询字符串,导致服务端解析失败。通过 URL 编码可确保特殊字符正确转义,Agent 应优先使用语言内置的 encodeURIComponenturllib.parse.quote,而非手工替换。

场景三:JWT 过期排查

用户登录后突然被踢出,怀疑 Token 已过期。Agent 解析 JWT 的 exp 字段,与当前时间比较,给出明确结论。

场景四:下载文件完整性校验

从镜像站下载大型安装包后,需要确认文件未被篡改。Agent 计算 SHA-256 并与官方公布的校验和比对。

快速开始

  1. 阅读## 核心能力章节了解skill功能
  2. 按## 依赖说明配置环境
  3. 执行所需能力对应的命令
  4. 参考## 错误处理章节处理异常
  5. 查看## FAQ解答常见疑问
# 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

示例

Python 一键解码多种格式

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=='))

Node.js 文件哈希校验

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');

最佳实践

  1. 先诊断后解码:暴力 Base64 解码可能产生不可见乱码,建议先检查输入是否符合 JWT、URL、Hex 模式再下结论。
  2. URL 安全变体优先:在 Token、文件名场景使用 Base64url(-_ 替换 +/),避免特殊字符引发解析错误。
  3. 哈希不要混用:MD5 仅适合去重场景,安全相关用途必须使用 SHA-256 及以上。
  4. JWT 不可加密:JWT 默认仅签名不加密,严禁在 Payload 中放入密钥、身份证号等敏感信息。
  5. 编码归一化:处理多语言文本时统一使用 NFC 归一化,避免同形字符造成的比较失败。
  6. 大文件流式哈希:超过 100MB 的文件应使用流式读取计算哈希,避免内存溢出。

常见问题

Q1:Base64 解码后出现乱码怎么办?

A:先确认输入是否为标准 Base64(是否含 + /),如果是 URL 安全变体需先做 tr '-_' '+/' 替换;其次确认原始数据是否本身就是二进制而非文本,二进制应直接写入文件而非打印。

Q2:URL 编码用 encodeURI 还是 encodeURIComponent

A:拼接完整 URL 时用 encodeURI(保留 ://?&);拼接查询参数值时用 encodeURIComponent(编码所有特殊字符)。常见错误是混用导致 & 被编码破坏参数边界。

Q3:JWT 过期时间怎么看?

A:解码 Payload 后查看 exp 字段(Unix 时间戳),与当前时间比较。注意服务端与客户端时钟不同步可能导致误判,建议留 30 秒缓冲。

Q4:SHA-256 计算结果不一致?

A:检查输入是否带末尾换行符。echo "Hello" 会附加 \n,而 echo -n "Hello" 不会。文件哈希同理,确保两端使用相同读取模式。

Q5:UTF-8 文件出现 BOM 怎么处理?

A:UTF-8 BOM 为 EF BB BF,使用 sed -i '1s/^\xEF\xBB\xBF//' file.txt 移除,或在 Python 中以 encoding='utf-8-sig' 读取自动剥离。

依赖说明

运行环境

  • Agent 平台:支持 SKILL.md 的任意 AI Agent(Claude Code / Cursor / Codex / Gemini CLI 等)
  • 操作系统:Windows / macOS / Linux
  • Python:3.8+(部分示例需要 Python3)
  • Node.js:16+(若使用 JavaScript 示例)

依赖详情

依赖项类型是否必需获取方式
LLM APIAPI必需由 Agent 平台内置 LLM 提供
coreutils (base64/od/xxd)系统工具可选Linux/macOS 自带,Windows 通过 WSL 或 Git Bash
Python3运行时可选官网下载,部分示例依赖
Node.js运行时可选官网下载,JavaScript 示例依赖

API Key 配置

  • 本 Skill 基于本地命令行与标准库,无需额外 API Key
  • 涉及外部 API 调用时(如在线哈希服务),由调用方自行配置

可用性分类

  • 分类:MD+EXEC(纯 Markdown 指令,部分功能需要 exec 命令行执行能力)
  • 说明:基于 Markdown 的 AI Skill,通过自然语言指令驱动 Agent 执行任务

已知限制

本免费体验版限制以下高级功能:

  • 批量文件哈希校验(一次仅支持单文件处理)
  • 自定义编解码模板(仅提供标准格式)
  • 二进制协议深度解析(Protobuf、MessagePack、CBOR)
  • 序列化格式互转(JSON / YAML / TOML / CSV 批量转换)
  • 跨文件哈希比对与差异报告

解锁全部功能请使用专业版:encoding-toolkit-pro

  • 当前为免费版本,如需完整功能请升级到付费版获取全部能力

错误处理

错误场景原因处理方式
配置错误参数缺失或格式错误检查依赖说明中的配置要求
运行时错误运行环境不满足确认运行环境符合依赖说明
网络错误连接超时或不可达执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案

输出格式

{
  "success": true,
  "data": {
    "result": "编解码工具箱免费版处理结果",
    "execution_time": "0.5s",
    "metadata": {
      "version": "1.0",
      "processor": "encodingkit"
    }
  },
  "execution_log": ["解析输入参数", "执行核心处理", "格式化输出结果"],
  "error": null
}

评论

加载中…