# VectorPaint 前缀码树：把四个符号放在叶节点再核逐位译读

语言：zh-CN
原文：[VectorPaint 前缀码树：把四个符号放在叶节点再核逐位译读](<https://allluckly.cn/guides/vectorpaint-prefix-code-four-leaf-tree-boundary/>)
中文：[中文 HTML](<https://allluckly.cn/guides/vectorpaint-prefix-code-four-leaf-tree-boundary/>)
English: [English HTML](<https://allluckly.cn/en/guides/vectorpaint-prefix-code-four-leaf-tree-boundary/>)
发布于: 2026-11-13T00:00:00+08:00
内容更新于: 2026-11-13T00:00:00+08:00
署名：Bison

用零、一零、一一零、一一一四码核叶路径与解码，另留零和零一冲突对照。

本课手绘一棵四符号二叉码树，把边标签、叶符号和根到叶路径对应起来。图形用于说明前缀码，不是VectorPaint提供压缩器，也不宣称这套自设码对任意数据最优；编码、译读与图形排版分别检验。

## 先定四个符号及四条码字

画布纵向一千二百乘一千六百，先在纸面写A用零、B用一零、C用一一零、D用一一一。参照[NIST前缀码定义](<https://xlinux.nist.gov/dads/HTML/prefixcode.html>)，关键是没有一条完整码字成为另一条的前缀。这里零和一是边标签，A到D是符号，不能把字符A直接当根节点的二进制值。先建节点、边、位标签、符号、审核路径五层，输入任何长消息前先把码表完整写好，之后不能边译读边偷偷换表。

## 根节点先分出零叶与一支

根R放上方，向左边标零，终点直接是A叶；向右边标一，终点是内部节点I。节点之间留足文字空间，位标签靠对应边中段，不放在两条边交叉处。A下面不应再接后代，因为A的零已经是完整码字；若为了排版在A下继续挂B，便改变了前缀关系。边用实际可见路径入口画，箭头可省但方向由上至下写清楚，不把根周围装饰圆算成额外层级或位值。

## 一支再分出B和最后双叶

从I向左标零到B叶，向右标一到内部节点J。再从J左零到C，右一到D。沿根读B是先一再零，C是一一零，D是一一一，不能只看叶旁最近的边就把所有左叶都写零。画完先数A到D四叶、R与I与J三内部节点、共六边，七个节点不是七码字。参考[NIST码树说明](<https://xlinux.nist.gov/dads/HTML/codingTree.html>)核根到叶路径的角色，不因图画得像树就断言所有内部节点也可直接输出符号。

## 前缀检查按完整路径逐对比

零开头的只有A，另外三码都以一开头，所以零不是它们的前缀。B的一零与C、D的一一在第二位不同；C与D前三位分别一一零和一一一，相互也不为前缀。逐对比较后在审核稿打勾，不能只比较码长就说不同长度一定冲突或一定不冲突。可把各叶路径用不同浅色追一次，但颜色不加入码字，黑白输出仍须由边上零一读回原表。若某标签重复或少一位，先修边标而非修改符号名字绕开错误。

## 九位消息按到叶再回根译读

原创消息串写零一零一一零一一一，共九位。按树读第一位零到A，回根；接下来一零到B，再回根；接着一一零到C，末尾一一一到D，结果ABCD。把分组记为零、 一零、 一一零、 一一一，逗号只用于说明，不是消息实际位。若末尾只剩一一，会停在J而非叶，应记未完成码字，不能凭最像C或D猜补最后一位。界面没有自动解码时就在外部笔记手工走路径，不编造成功提示。

## 错误前缀表另做双解对照

另存错例表A为零、B为零一、C为一零、D为一一。A码零成为B码零一的前缀，且串零一零可以分成零加一零即AC，也可以分零一加零即BA，给出一个具体双解证据。不能只改错例颜色后把两表混用，也不要笼统说所有非前缀码的每条消息都必有多解；这里已经展示的是本错例这一串。将两种分组画在树旁，明码与错误码分别命名，交付图不把错例标成第二套同样有效的即时译读规则。根到A走一边，到B走两边，到C和D各走三边，与码长一二三三对应。画面纵向间隔可以为排版调整，却不能多添一个无标签节点来拉齐高度，否则路径边数与码字长度不再相符。短码叶子不必与长码叶子排在同一横线上，距离的整齐不应改变码树身份。

## 排查把自设码冒称最优压缩

本码ABCD共九位，若四符号等频而采用每符号两位的固定表，同样四符号只需八位，因此不能宣称自设变长码一定更省。变长码是否适合某种数据还依赖符号频率等条件，本课不导入私人文件或测压缩率。导出后核每条边的零一和每叶符号，若字体替换使一像竖线，改可读字体或图例，不改码字迁就外观。多余辅助连线要隐藏，避免读者把虚线也当可走分支；计算结论与视觉排版分别留下依据。

## 重开按叶路径和返回规则验收

保存退出再重开，先从四叶各反查根路径，核四叶三内部六边，再不看旧答案手读九位串。遇叶输出并回根，停内部就保留未完成，规则不能因图中上下距离不同而改变。打开最终输出，确认位标签没有被裁切，错表双解和等频八位对照身份明确；未验证格式不写已兼容。完成是别人能靠图复现码表、ABCD译读和错例两种分组，不是应用已经执行压缩、解压或证明任意频率下的最优性。

## 相关教程与资料

[VectorPaint 有向依赖图：让箭头与可行顺序一一对应](<https://allluckly.cn/guides/vectorpaint-dependency-arrows-feasible-order/>)、[VectorPaint 三位格雷码环：核对相邻一位变化与首尾闭合](<https://allluckly.cn/guides/vectorpaint-three-bit-gray-cycle/>)。

资料核对：2026 年 11 月 13 日，VectorPaint 公开版本 1.0.8，最低要求 iOS / iPadOS 17.0。范围参照[官方 App Store](<https://apps.apple.com/cn/app/id1587272880>)与[Apple 公开查询](<https://itunes.apple.com/lookup?id=1587272880&country=cn&entity=software&timestamp=20261113>)。手工练习使用安装版本实际可见入口；外部演算、文字记录与示意不代表内置自动分析。本文没有逐项真机、私人文件或全部导出环境实测声明。

