固定宽度与 CSV 转换
按明确的 Unicode 码点宽度拆分定长记录,或把 CSV 字段填充为定长文本。
浏览器本地处理输入定长文本 + 字段 JSON / CSV + 字段 JSON输出CSV / 定长文本单个文件最多 1 MiB · 最多 1 个
- 1添加输入
- 2调整设置
- 3获取结果
工具输入和文件在当前浏览器处理,不会上传。
开始之前
迁移旧系统定长导出时保留字段空格。提供字段名与宽度,核对完整记录,再下载接收方需要的格式。
如何使用
- 选择转换方向,粘贴记录或打开本地 UTF-8 导出。
- 按字段顺序填写宽度 JSON。计算码点并计入有意义的空格,不从比例字体预览估算宽度。
- 核对字段预览与表格保护设置,复制或下载完整 CSV/文本结果。
支持范围与限制
一份 UTF-8 文件或粘贴源文本,最多 1 MiB;宽度 JSON 最多 1 MiB。已选文件优先。最多 10,000 条记录、100 个字段,每字段 1,000 码点、整条记录 10,000 码点;文件开头 UTF-8 BOM 会去除。
宽度计算 Unicode 码点,不是字节、屏幕列宽或字素簇。一个普通 emoji 算一个码点,组合附加符另计。定长每行须严格等于声明总宽度;字段两端空格不会裁剪。
第二输入为 {name,width} 对象数组,字段名非空且唯一,宽度为正整数。CSV 表头必须与字段顺序完全一致,含表头在内最多 200,000 个输入单元格。CSV 转定长会拒绝超宽及跨行单元格,右侧填充 ASCII 空格,并使用 LF 记录换行。
CSV 下载默认启用表格保护:类似公式的值会加前导单引号。需要原样字段时可明确关闭。页面预览最多 200 条,下载包含完整记录。
操作示例
示例输入
0001Ada 0002张三
示例参数
{"params": {"direction": "to-csv", "spreadsheetSafe": false}, "secondary": "[{\"name\":\"id\",\"width\":4},{\"name\":\"name\",\"width\":5}]"}示例输出
id,name 0001,Ada 0002,张三
出现问题时
检查出错记录长度和宽度;CSV 转定长时核对表头顺序,处理超宽字段及内嵌换行。改用粘贴源文本前先移除已选文件。
常见问题
宽度指 UTF-8 字节吗?
不是。这里“张”和“😀”各算一个码点,但 UTF-8 字节数不同。按字节定义的格式不能直接使用此规格。
会猜宽度或裁剪填充吗?
不会。字段名和宽度由你明确提供,提取后定长填充仍属于字段值。
反向转换为什么拒绝换行?
跨行 CSV 值无法无损放入一条定长物理记录,因此须先处理。