行尾与 BOM 转换器
归一化之前分别统计 CRLF、孤立 CR 与孤立 LF,从而识别混合约定的文件(脏 git diff 或在 Windows 下失败的 Bash 脚本的常见原因)。输出字节数包含 BOM,因此你确切知道写入磁盘的内容。所有处理都在浏览器本地完成。
—
目标行尾
UTF-8 BOM
输出
输入统计
- LF 计数1
- CRLF 计数1
- 孤立 CR 计数0
- 总行数3
- 输出字节(UTF-8)28
- 存在 BOM否
混合行尾的文件通常意味着源在多个平台之间被编辑过 — 统一化能解决大多数「为何我的 diff 爆炸」的烦恼。
使用方法
- 在输入处粘贴文本或拖入文件内容。
- 选择目标行尾(LF 用于 Unix/macOS,CRLF 用于 Windows,CR 用于旧版 Mac)。
- 选择 BOM 策略并复制输出。
常见问题
- 什么时候应保留 BOM?
- 一些遗留 Windows 工具与部分 Excel CSV 导入依赖 BOM。其他场合(尤其 shell 脚本、JSON 与现代构建链中的源代码)应当移除。
- 什么是混合行尾的文件?
- 包含 LF/CRLF/CR 中不止一种的任何文件。常见于跨平台编辑文本或生成器拼接来自不同来源的片段时。统一到单一风格能让 git diff 和下游解析器正常工作。
- 为什么 git 把整个文件都显示成改动过?
- 因为每一行都变了:文件以一种换行方式提交,又以另一种方式保存,于是没有任何未改动的行可以让差分对齐。统一一次并把这个状态提交上去,再设定仓库的换行策略,下次检出时就不会再被转换一遍。
- 最后一行末尾需要换行符吗?
- 对多数 Unix 工具来说需要:一行被认为是以换行符结束的,所以差分才会提示「文件末尾没有换行符」,把两个缺少末尾换行的文件拼起来时,前一个的最后一行也会和后一个的第一行粘在一起。这和你选择哪种换行风格是两回事。
相关工具
文件编码检测器
上传任何文本文件,检测其编码 — UTF-8、UTF-16 LE/BE、UTF-32、Latin-1、ASCII — 带 BOM 检测、字节信号分析和十六进制预览。
文件 0 0
文本编码转换器
把 EUC-KR、Shift_JIS、Windows-1252 等非 UTF-8 文本变成可读 UTF-8。
文件 0 0
CSV ↔ JSON 转换器
在 CSV 与 JSON 之间互相转换,可选择分隔符。
文件 0 0
Excel (XLSX) 转 CSV、JSON 和 Markdown
在浏览器中打开 .xlsx 工作簿,把任意工作表导出为 CSV、JSON 或 Markdown 表格——文件不会离开你的设备。
文件 0 0
CSV 转 Excel (XLSX) 转换器
在浏览器中把 CSV 或 TSV 转成真正的 .xlsx 文件,前导零、长 ID 和 SEPT1 这类编码都原样保留。
文件 0 0
图片 → PDF 转换器
把多张 JPG / PNG 图片合并为一份 PDF,页面尺寸、方向与适配可调。
文件 0 0