帮助:工具和科普标准页面
更多
本页适用于工具、编码、密码、术语、规则和方法。开头用普通段落说明它是什么、解决什么问题;现有 Base16、凯撒加密、RXSSTV 等条目可按内容选择以下章节。下文以 Base16 为例,演示定义、规则、完整例子、边界和来源的写法。
基本定义
先说明概念、处理对象和用途。工具条目则写工具名称、用途、运行平台、官方地址和适用版本;这些信息以实际核对结果为准。 Base16(十六进制编码)使用十六个字符表示数据,每个字节对应两个十六进制字符。它是数据表示方法,不应与提供保密性的加密混淆。[1] 如果简介确实需要突出显示,可以插入“条目摘要”;普通短导语直接写段落即可。
Base16 用十六进制字符表示数据,每个字节对应两个字符;本例完整展示转换与复核过程。
{{条目摘要|内容=Base16 用十六进制字符表示数据,每个字节对应两个字符;本例完整展示转换与复核过程。}}
输入与规则
写清处理单位、字母表、排列或计算步骤。不要只给工具链接而省略规则。本例按字节处理:高四位在前、低四位在后,各自映射成一个十六进制字符。
| 四位数值 | 对应字符 |
|---|---|
| 0 至 9 | 0 至 9 |
| 10、11、12、13、14、15 | A、B、C、D、E、F |
{| class="wikitable"
! 四位数值 !! 对应字符
|-
| 0 至 9 || 0 至 9
|-
| 10、11、12、13、14、15 || A、B、C、D、E、F
|}较长的字符表按内容排版,使用普通表格;原始符号、大小写和有意义的空格必须保留。
完整示例
给出输入、参数、关键中间值、完整输出和复核依据。编码与解码都有意义时,分别说明两个方向,不把不可逆算法写成可恢复。
666F6F
每两个十六进制字符表示一个字节,按 ASCII 文本读取。
- 分为
66 6F 6F。 - 字节值为十进制
102 111 111。 - 对应小写字符
f、o、o。
foo
RFC 4648 第 10 节给出相同测试向量。
{{解谜记录
|标题=十六进制文本的转换
|输入=<code>666F6F</code>
|方法=每两个十六进制字符表示一个字节,按 ASCII 文本读取。
|过程=
# 分为 <code>66 6F 6F</code>。
# 字节值为十进制 <code>102 111 111</code>。
# 对应小写字符 <code>f</code>、<code>o</code>、<code>o</code>。
|结果=<code>foo</code>
|验证=[https://www.rfc-editor.org/rfc/rfc4648.html#section-10 RFC 4648 第 10 节]给出相同测试向量。
}}反向复核:将文本 foo 的字节 66 6F 6F 逐字节写成十六进制,得到 666F6F,与 RFC 4648 第 10 节一致。[2]
程序与输出
程序示例用预格式化文本,写清运行方式和预期输出;不要让读者自行猜程序的执行结果。下面是 Python 3 的完整例子:
value = "666F6F"
result = bytes.fromhex(value).decode("ascii")
print(result)
# 输出:foo
<pre>value = "666F6F"
result = bytes.fromhex(value).decode("ascii")
print(result)
# 输出:foo</pre>
界面或图解
解释工具操作时,按“输入什么—选择什么—输出什么”描述;需要截图或示意图时可以使用“图片说明”。此处借用数独图片展示写法,不作为 Base16 的算法图。

{{图片说明|图片=[[文件:Sudoku.webp|缩略图|居中|300px|数独图片,仅演示排版]]|说明=说明画面中需要读者注意的部分。此图不属于上方转换示例。|来源=[[:文件:Sudoku.webp|文件描述页中的来源与版权信息]]}}需要分步说明操作时插入“步骤”:
输入 666F6F,按十六进制字节转成 ASCII 文本,输出应为 foo;保留输入和所用参数。
{{步骤|序号=01|标题=复核输入与输出|内容=输入 666F6F,按十六进制字节转成 ASCII 文本,输出应为 foo;保留输入和所用参数。}}
参数与边界
列出影响结果的参数、输入约束、错误情形及不可逆之处。以下说明针对本页给出的纯十六进制输入,不代替其他工具各自的参数文档。
| 情况 | 如何说明 |
|---|---|
| 文本与字节 | 编码处理的是字节;文本转字节时要说明字符编码。本例为 ASCII。 |
| 不完整字节 | 两个十六进制字符对应一个字节;奇数个字符不能直接组成完整字节序列。 |
| 非法字符 | 不自行删除无法解释的字符;先核对输入格式和工具支持范围。 |
| 填充 | RFC 4648 的 Base16 不使用 Base64 那样的等号填充。 |
{| class="wikitable"
! 情况 !! 如何说明
|-
| 文本与字节 || 编码处理的是字节;文本转字节时要说明字符编码。本例为 ASCII。
|-
| 不完整字节 || 两个十六进制字符对应一个字节;奇数个字符不能直接组成完整字节序列。
|-
| 非法字符 || 不自行删除无法解释的字符;先核对输入格式和工具支持范围。
|-
| 填充 || RFC 4648 的 Base16 不使用 Base64 那样的等号填充。
|}不要把编码、加密、散列和签名当成一回事,也不要仅凭输出“看起来像文字”就认定处理正确。真实工具的限制需核对其文档和行为。
相关工具与条目
工具链接应写明对应功能。已有站内条目使用内部链接;介绍外部工具时给官方链接、运行方式与限制,不能把推广文案当使用说明。
* [[Base16]]:十六进制编码条目。 * [[ASCII编码]]:字符与数值的关系。 * [[工具和科普]]:其他工具与科普入口。
参考资料
定义、规则和边界均应有相应来源;尽量定位到规范章节。正文写 ref,文末汇总:
本例可以用规范中的测试向量复核。<ref name="demo-hex">{{引文信息|标题=RFC 4648|网址=https://www.rfc-editor.org/rfc/rfc4648.html#section-10|作者=Simon Josefsson|定位=第 10 节:测试向量}}</ref>
同一来源再次使用时不重复录入。<ref name="demo-hex" />