使用方法
打开页面时文本框已经填好 Hi 2026,结果区也直出了对应的盲文串,不必先输入就能看到一次完整转换。想转自己的内容,直接把文本粘进文本框:它是多行输入,按 Ctrl/Cmd + Enter 触发转换,也可以一边输入一边看结果区实时刷新。文本框下方的「最多处理字符数」是数值框,按裸 Enter 即重算,用来给超长文本设上限,默认 200、允许 1~500。留空、填文字、填零或负数、超过上限、含不可见控制字符,都会弹出具体的报错文字,不会静默截断或归零。
转换完成后,页面给出三样东西:结果区是可复制的盲文字符串并带 role="alert",方便读屏播报;其下是中文等非 ASCII 字符的保留提示;再往下是每个输出字符的六点矩阵,用 ● 表示有点、○ 表示无点,按 dot1/dot4、dot2/dot5、dot3/dot6 排成三行两列。三个「示例」按钮分别载入 Hi 2026、Hello 与中文 abc 2026,方便对比大写、数字与中文三种情况。码位对照表默认列出 12 行,点「加载更多」展开全部,可导出带 BOM 的 CSV 或复制成 TSV。
要记住的是:文本转盲文转换器做的是点位位掩码到 Unicode 码位的转换,不是把字母换成另一个 ASCII 字符,也不是装饰字体或字符画。复制后的盲文在缺少盲文字形的字体里会显示成豆腐块,这是字体问题,不是转换出错。
这个工具能解决什么问题
需要一段标准 Unicode 盲文字符串的场景都能用上它:给盲文显示器或点字打印机准备文案、做无障碍说明、教学里演示「一个字母对应哪几个点」、校对别人给的点字稿。文本转盲文转换器把这些需求收敛成一步:粘贴文本,拿到 U+2800 到 U+28FF 之间的盲文字符,还能逐字看到点位矩阵与码位,不必自己查点位表手工拼。
第二个用途是把「盲文不是简单替换」这件事讲清楚。大写、数字都不是新字符表,而是靠状态前缀切换:大写前缀 ⠠ 与数字符号 ⠼ 先出现,后面复用同一套字母点位。数字还有一个容易出错的细节——遇到非数字必须退出数字模式,否则后面的字母会被继续当成数字读。本页把这个规则实打实地做进算法里,用 Hi 2026 这类例子就能看出来空格之后的处理。
本页不做这些事:不生成二进制或 ASCII 文本艺术,不做盲文到文本的反向转换,不翻译,不做二级(contracted)盲文的缩写与简写,也不实现现行中文盲文那套拼音点字方案。它只回答一个问题:给定一段文本,按一级盲文的点位规则,逐字对应的 Unicode 盲文是什么。
转换原理与点位变量
Unicode 把盲文安排在 U+2800 到 U+28FF 这一段,共 64 个码位,一个字符就是一个「六点里有哪几个点」的组合。六个点按位编号:dot1=0x01、dot2=0x02、dot3=0x04、dot4=0x08、dot5=0x10、dot6=0x20,把用到的点按位或起来得到 mask,最终码位就是 U+2800 + mask。于是 a 只用 dot1,mask=0x01,码位 U+2801;b 用 dot1 与 dot2,mask=0x03,码位 U+2803;c 用 dot1 与 dot4,mask=0x09,码位 U+2809,依此类推到 z。空格是六点全空,mask=0x00,即 U+2800 的 ⠀。
一级盲文(grade 1)里 26 个拉丁字母各占一个固定点位组合,本页用的映射从 a=0x01、b=0x03、c=0x09 一直排到 z=0x35,码位表就是这份映射的展开。大写没有独立的字母表:每个大写字母前面先输出一个大写前缀 ⠠(dot6,mask=0x20,U+2820),再输出该字母的小写点位。所以 H = ⠠ + h(0x13) = ⠠⠓,ABC 会写成 ⠠⠁⠠⠃⠠⠉,每个大写字母都带一个前缀,本页不做「整词大写」的简写符。
数字同样复用字母:数字符号 ⠼(dots3456,mask=0x3C,U+283C)先出现,进入数字模式;随后 1 到 9 复用 a 到 i 的点位,0 复用 j 的点位。关键规则是遇到任何非数字字符就退出数字模式:空格、字母、标点都会把状态清掉,下一段数字要重新加 ⠼。若不退出,2026 后面紧跟的字母就会被误读成数字。标点另有小映射表,如逗号 dots2、分号 dots23、冒号 dots25、句号 dots256、叹号 dots235、问号 dots236、连字符 dots36、单引号 dots3。
汉字不在这套映射里。中文没有 Unicode 盲文的一一映射,现行中文盲文是另一套以拼音为基础的点字方案,字形到点字不是逐字符对应。本页对中文与其它非 ASCII 字符一律原样保留,并单独给出提示,绝不假装已经转好。转换过程只有字符查表、按位或与状态切换,全在浏览器本地完成。
完整示例(逐字可复算)
下面五组示例都由页面同一份算法算出,不是写死的答案。
- Hello → ⠠⠓⠑⠇⠇⠕:H 是大写,先出 ⠠ 再出 h 的 dots125(0x13)得 ⠠⠓;e=dots15(0x11)得 ⠑;l=dots123(0x07)得 ⠇,连续两个 ⠇;o=dots135(0x15)得 ⠕。
- Hi 2026 → ⠠⠓⠊⠀⠼⠃⠚⠃⠋:H=⠠⠓,i=dots24(0x0A)得 ⠊;空格是 U+2800 的 ⠀;接着数字符号 ⠼ 进入数字模式,2 复用 b 得 ⠃、0 复用 j 得 ⠚、2 再得 ⠃、6 复用 f(0x0B)得 ⠋。
- ABC abc 123 → ⠠⠁⠠⠃⠠⠉⠀⠁⠃⠉⠀⠼⠁⠃⠉:三个大写各带 ⠠;空格 ⠀;小写 abc 是 ⠁⠃⠉;再一个空格把数字模式清掉,123 重新加 ⠼ 后复用 a、b、c。
- Good morning! → ⠠⠛⠕⠕⠙⠀⠍⠕⠗⠝⠊⠝⠛⠖:G 带大写前缀,句末叹号走标点映射 dots235(0x16)得 ⠖。
- 中文 abc 2026 → 中文⠀⠁⠃⠉⠀⠼⠃⠚⠃⠋:两个汉字无映射原样保留,其后的空格转 ⠀,abc 与 2026 按上述规则转换。
把任意一组粘进文本框,结果区、点位矩阵与码位表会一起重算;点三个示例按钮也能逐组回放。注意 Hi 2026 里空格之后是数字,而 ABC abc 123 里数字之前还有一个空格,两处都体现了「遇非数字退出数字模式」的处理。
输入范围与码位对照表
码位对照表列出 26 个一级盲文字母,外加数字、大写符号、数字符号、空格共 30 行,默认显示前 12 行(a 到 l),点「加载更多」展开剩下 18 行。四列分别是字符、码位(U+28xx)、点位(把位掩码按 dot1~dot6 展开成 dots 串)与说明。例如 h 是 dots125、U+2813;数字符号 ⠼ 是 dots3456、U+283C;大写前缀 ⠠ 是 dot6、U+2820;空格六点全空、U+2800。
这张表是映射规则,由页面里同一份点位表生成,点位列从 mask 现算,不是当前输入的实算结果;随输入变化的是上方结果区与六点矩阵。表可导出带 BOM 的 CSV,也可按 TSV 复制。文本框不限内容种类,但受最多处理字符数限制,含控制字符会被拒绝。
结果边界与精度说明
- 这是一级盲文,不是完整盲文体系。没有二级 contracted 盲文的缩写、简写与整词符号,连续大写按逐字加 ⠠ 处理,不做大写词符。
- 数字模式有严格边界。只有连续数字共用同一个 ⠼;任何非数字字符都会退出数字模式,下一段数字重新加前缀。这条规则直接决定 Hi 2026 与 ABC abc 123 的输出形态。
- 中文没有一一映射。现行中文盲文是另一套拼音点字方案,本页对汉字与其它非 ASCII 字符原样保留并明确提示,不会输出看似转好、实则错误的点字。
- 标点只覆盖常用半角集合。逗号、分号、冒号、句号、叹号、问号、连字符、单引号在表内;其它标点、Emoji、全角字符与任意未映射字符一律原样保留。
- 显示依赖字体。复制后的盲文字符在缺少 U+2800 段字形的字体里会显示豆腐块或空白;这是字体覆盖问题,换用支持盲文的字体即可,码位本身没错。
- 搜索引擎与索引。盲文字符不被当作普通可读文本索引,因此本页输出适合给人或点字设备用,不适合拿来替代正文做 SEO 文本。
- 没有浮点舍入。转换是离散码位查表,结果精确到字符,不存在小数位与四舍五入;所谓「精度」只体现在是否逐字保真、是否保留未映射字符。
- 纯本地处理。不发起网络请求,不写 Cookie 或 localStorage,输入文本不会离开当前浏览器。
常见问题
为什么复制出来的盲文显示成方块或空白?
多半是当前字体没有覆盖 U+2800 到 U+28FF 这段盲文字形。盲文是真实 Unicode 字符,不是图片,字体缺字形就会退化成豆腐块。可换用支持盲文的字体查看,或把结果贴进能显示盲文的环境;码位本身是正确的,页面给出的 U+28xx 码位表可用来核对。
中文为什么原样没变?
因为中文没有 Unicode 盲文的一一映射。现行中文盲文是另一套以拼音为基础的点字方案,一个汉字到点字不是逐字符替换,牵涉声母、韵母与声调的组合。本页做的是拉丁字母的一级盲文,对中文与其它非 ASCII 字符一律原样保留,并单独给出提示,不假装已经转好。
大写字母前面那个单独的点是什么?
是大写前缀 ⠠(dot6,mask=0x20,U+2820)。一级盲文没有独立的大写字母表,靠这个前缀提示「后面这个字母要读成大写」。本页对每个大写字母逐个加前缀,所以 ABC 写成 ⠠⠁⠠⠃⠠⠉;它不做整词大写的简写符。
数字前面为什么有个符号,2 还变成了 b 的点位?
那个符号是数字符号 ⠼(dots3456,U+283C),表示进入数字模式。数字 1 到 9 复用字母 a 到 i 的点位、0 复用 j,所以 2 用的是 b 的 dots12,即 ⠃。这是盲文的标准约定,不是转换错误;2026 因此写成 ⠼⠃⠚⠃⠋。
数字后面紧跟的字母会被当成数字吗?
不会。算法规定遇到任何非数字字符(空格、字母、标点、汉字)就退出数字模式,下一段数字要重新加 ⠼。这正是 Hi 2026 里空格的作用,也是 ABC abc 123 里 123 之前另起一个 ⠼ 的原因。若不清空状态,后面的字母就会被误读成数字点位。
这是可以拿去印刷的完整盲文吗?
不是。本页只做一级(grade 1)盲文,没有二级 contracted 盲文的缩写、简写、整词符号与排版规则,也不处理中文点字。它适合教学、演示、生成标准 Unicode 盲文串与校对点位;正式出版或点字印刷需要按目标语种的完整盲文规范另行处理。
能把盲文再转回文字吗?
本页是单向的,只做文本到 Unicode 盲文,不做反向。反向还要处理大写前缀、数字符号的状态还原,以及「原样保留」的中文如何区分,是另一套逻辑。本页也不翻译、不生成语音,只回答「这段文本对应哪些点位字符」。
我粘贴的内容会被上传吗?
不会。转换只用到字符查表、按位或与状态切换,全部在当前浏览器里执行,页面不发起任何网络请求,也不写 Cookie 或 localStorage。你在开发者工具的 Network 面板里反复粘贴、点几次转换,面板始终是空的。