chinese-telegraph-code
v0.1.0
Published
Chinese telegraph / commercial code (中文电码) lookup tables, sourced from the Unicode Unihan database.
Maintainers
Readme
chinese-telegraph-code
English | 简体中文
开源的中文电码(Chinese Telegraph Code / Chinese Commercial Code)查询数据表, 数据源自 Unicode Unihan 数据库。典型用途: 美签 DS-160 等表格里把中文姓名转成四位电码。
至今仍用于护照、签证(如 US DS-160 的 Chinese Commercial Code / Telecode 栏)、 港澳身份证件等。
数据表
| 文件 | 标准 | 字数 | Unihan 字段 |
| ----------- | ---------- | ----- | -------------------- |
| data/cn.* | 中国大陆 | 7,078 | kMainlandTelegraph |
| data/tw.* | 台湾及香港 | 9,024 | kTaiwanTelegraph |
每张表都提供 CSV 与 JSON 两种格式。香港没有独立标准 —— HKID 与护照用的就是台湾这一脉的
电码,故 tw 台港通用。
格式
code,character,codepoint
0022,中,U+4E2D[
{ "code": "0022", "character": "中", "codepoint": "U+4E2D" }
]用法
import table from './data/cn.json' with { type: 'json' }
const codes = new Map(table.map(r => [r.character, r.code]))
const encode = name => [...name].map(c => codes.get(c) ?? '0000')
encode('张三') // ['1728', '0005']表中查不到的字符(生僻字、标点)按惯例填 0000。
构建
npm run build # 重新下载 Unihan 并生成 data/数据来源
源自 Unicode Unihan 数据库(v17.0.0)的
kMainlandTelegraph 与 kTaiwanTelegraph 字段。大陆电码可追溯到邮电部《标准电码本》标准。
许可
代码采用 MIT。数据源自 Unicode Unihan,遵循 Unicode License。
