vCard 名片生成
文本所有处理都在浏览器本地完成,数据不上传服务器
输入
把文件拖到这里可直接载入
输出
把一份「姓名, 电话, 邮箱」的名单变成可以导入通讯录的 vCard 文本(`.vcf`)。一行一个人,邮箱可以省;姓名里允许有空格与中文。版本可选 3.0 与 4.0,还能加上组织与地址。两个细节决定了导入成不成功:折行按 UTF-8 字节数算(RFC 规定一行不超过 75 个八位组,中文一个字 3 字节,按字符数折会把名字切成两半),以及文本里的 `\`、`;`、`,`、换行要转义(`;` 与 `,` 在 vCard 里是结构分隔符,不转义会让客户端把姓名读成两个字段)。全部在本机生成。
功能
- 一行一个人:`姓名, 电话, 邮箱`(邮箱可省)
- vCard 版本可选 3.0 / 4.0
- 可加组织(`ORG`)与地址(`ADR`)
- 按 UTF-8 字节折行,一行不超过 75 个八位组,中文不会被切断
- 正确转义 `\`、`;`、`,` 与换行
- 3.0 生成 `TEL;TYPE=CELL`,4.0 生成 `TEL;TYPE=cell`
- 可选去掉电话里的空格、连字符与括号(`+` 保留)
- 给出联系人数量,`.vcf` 可整块复制
使用方法
- 一行一个人地输入「姓名, 电话, 邮箱」
- 选择 vCard 版本,需要时填组织与地址
- 生成的 .vcf 文本实时出现
- 复制 .vcf,保存成文件后导入手机或通讯录
常见问题
- 名字很长时为什么会被折成两行?
- 因为 RFC 6350 规定 vCard 的一行不超过 75 个八位组(字节),超出的部分要折到下一行、并以一个空格开头。这里按 UTF-8 字节数折,不会把一个多字节的汉字切开 —— 按字符数折的话,一个 40 字的英文名字会被折(40 < 75),而一个 40 个汉字的地址不会,导入时就会出问题。
- 为什么要转义分号与逗号?
- 因为 `;` 与 `,` 在 vCard 里是结构分隔符:`N:姓;名;;;` 用分号分隔姓名的各个部分,多个值用逗号分隔。姓名或组织里如果带一个不转义的分号,客户端会把它读成两个字段。所以工具会把文本里的 `\`、`;`、`,` 与换行都转义,导入后还原成原来的样子。
- 「去掉电话分隔符」会把国际区号的 `+` 也去掉吗?
- 不会。它去掉的是空格、连字符、圆括号与点号,`+` 与数字都保留 —— `+` 是国际区号的一部分,去掉之后号码可能就拨不通了。
- 数据会上传吗?
- 不会。解析、折行、转义全部在浏览器里完成,页面不发送任何请求。
相关工具
模拟数据
生成器按「字段名:类型」写几行字段,就能得到一整批格式逼真的模拟数据,可导出 JSON、CSV、TSV、SQL、XML、YAML 或 TOML。
CSV 转换
格式化CSV / TSV 与 JSON 双向互转:自动识别分隔符,正确处理引号与字段内的换行,剥掉 Excel 的 BOM,数字只在无损时才转换。全部在浏览器本地完成。
JSON 格式化
格式化在线 JSON 格式化与校验工具:树形折叠浏览、搜索键值、逐节点改值与删除、语法错误定位到具体行列,输入框带行号与高亮。全部在浏览器本地完成。
文本对比
文本把两份文本逐行对比,高亮标出新增、删除与未改动的行,改动按最小差异对齐,而不是整段标成变了。全部在浏览器本地完成,内容不上传。
字数统计
文本中英混排的文本到底有多长?中文按字、英文按词分开统计,给出字符数、行数、字节数、阅读与朗读时长,以及会被切成几条短信。全部在本机完成。
文本清洗
文本清洗从日志或表格里复制出来的一列内容:去重行、排序、去空行、去首尾空白、去行号、合并多空格,规则逐条开关。粘贴的内容只在本机处理。