脚本跨平台报错
后端工程师在 Windows 上写完一个 Python 脚本,部署到 Linux 服务器后运行时一直报语法错误。排查两小时发现是编辑器默认保存了 CRLF 换行,而 Linux 的 shell 解释器只认 LF。把脚本拖进本工具转成 LF 格式,再上传执行,三秒就跑了通。
文本工具 · 大小写 / 全角半角
CRLF/LF/CR 互转
从 Windows 拷个脚本到 Linux 服务器,一运行就报错——多半是换行符在作祟。这个工具把 CRLF、LF、CR 三种行尾标记互相转换,不碰文件内容。粘贴文本,点一下,换行符就换成目标格式。所有处理都在浏览器本地完成,文件不会上传到任何服务器。
后端工程师在 Windows 上写完一个 Python 脚本,部署到 Linux 服务器后运行时一直报语法错误。排查两小时发现是编辑器默认保存了 CRLF 换行,而 Linux 的 shell 解释器只认 LF。把脚本拖进本工具转成 LF 格式,再上传执行,三秒就跑了通。
前端开发小张用 VS Code 改了一个同事的配置文件,提交 PR 后 GitHub 显示整文件被删又重建,实际只改了一行。原因是同事用的 Mac(LF),小张没关自动换行转换,本地存成了 CRLF。用本工具把文件统一转成 LF 再 commit,diff 恢复正常,只显示那一行变更。
运营专员从老系统导出 3000 行客户数据,准备导入新 CRM。导入后 1/3 的记录错位,手机号跑到姓名列。检查发现老系统导出的是 CR 换行(Mac 经典格式),新系统只认 CRLF。用本工具把整份 CSV 转成 CRLF,重新导入后所有字段对齐,省去手动清洗 1000 条脏数据的 4 小时。
市场部用 Outlook 编辑了一封带表格的营销邮件,复制到企业微信发送后表格全部挤成一团。原因是 Outlook 内部用 CRLF 换行,企业微信网页端解析时把多余的回车吞掉了。把邮件原文粘贴到本工具转成 LF 格式,再粘贴到企业微信,表格结构完整保留。
运维同事用 grep 搜索 Nginx 错误日志中的 'timeout' 关键字,始终少查到几十条记录。后来发现日志文件来自不同服务器,有的用 LF 换行,有的用 CRLF,grep 默认模式把 CR 字符当成了行内容的一部分。用本工具统一转成 LF 后再 grep,所有 timeout 记录全部命中。
| 输入 | 输出 | 说明 |
|---|---|---|
| Hello World | Hello World | 常规:LF 转 CRLF,验证换行符替换是否影响其他字符 |
| Line1 Line2 | Line1 Line2 | 常规:CRLF 转 LF,验证 Windows 换行转 Unix 格式 |
| 边界:空输入,验证工具不报错且输出空串 | ||
| NoNewlineHere | NoNewlineHere | 边界:无换行符的纯文本,验证工具不添加多余换行 |
| 边界:连续多个 LF,验证每个都被正确转换,不合并或丢失 | ||
| Mixed LF CR End | Mixed LF CR End | 易错:混合三种换行符(CRLF、LF、CR),验证统一转换为 LF 时是否遗漏 |
| Leading Trailing | Leading Trailing | 易错:开头或结尾的换行符,验证不丢失首尾空行 |
1.混用换行符导致文件损坏
在 Windows 记事本中编辑 shell 脚本后直接保存(默认 CRLF),上传到 Linux 服务器运行报错用本工具将文本转为 LF 后再上传,或在编辑器(VS Code/Notepad++)中设置行尾序列为 LFLinux/Unix 系统只认 LF 作为换行符;CRLF 会被 shell 解释为 '回车+换行',导致命令末尾多出一个 \r,脚本无法执行。
2.误将二进制文件当作文本转换
把 .exe、.jpg、.zip 等二进制文件的内容直接粘贴到输入框,点击转换后输出乱码本工具仅处理纯文本文件;二进制文件应使用专门的十六进制编辑器或 base64 编码后再处理二进制文件中可能包含与换行符(0x0A、0x0D)相同的字节值,转换后会破坏文件结构,导致文件不可用。
3.把 '空行' 和 '换行符' 混淆
认为文本末尾有多个空行 = 多个换行符,转换后空行消失每个空行对应一个连续的换行符序列(如 \n\n 表示两个换行符,中间无字符);转换后空行数量不变,只是换行符类型变了换行符转换只改变行尾标记的编码方式(\r\n ↔ \n ↔ \r),不增减行数。空行是连续两个换行符之间的空白区域。
4.在 HTTP 请求体中用了错误的换行符
手动构造 HTTP POST 请求体时,用 LF 分隔 header 和 bodyHTTP 协议(RFC 7230)要求 header 结束标志为 CRLF(\r\n\r\n),body 中换行符视 Content-Type 而定HTTP 协议严格规定行尾必须是 CRLF;使用 LF 会导致服务器解析失败,返回 400 Bad Request。
5.Git 跨平台协作时忽略换行符配置
在 Windows 上提交代码时未配置 git config core.autocrlf,导致仓库中混入 CRLF设置 git config --global core.autocrlf true(Windows)或 input(macOS/Linux),让 Git 自动转换换行符Git 默认不转换换行符;跨平台协作时,Windows 的 CRLF 会污染仓库,导致 diff 显示整个文件被修改。
6.CSV 文件中换行符导致列错位
CSV 字段内包含换行符(如地址字段跨行),直接转换后破坏字段结构CSV 中字段内换行符必须用双引号包裹(RFC 4180),转换前确认字段引号正确闭合CSV 解析器将未引号的换行符视为行结束标志;字段内换行符需用双引号转义,否则转换后数据列会错位。
7.把 Mac 旧系统(CR)文件误认为 LF
将 Mac OS 9 及更早版本的纯 CR 文件直接当作 LF 文件处理,导致所有行合并为一行先确认文件来源:macOS X 之后使用 LF,旧 Mac(System 1-9)使用 CR;不确定时用本工具选择 'CR → LF' 转换CR(\r)在 Unix 系统中不被视为换行符,cat 命令会显示为单行;只有明确知道来源是旧 Mac 系统才需处理 CR。
8.在代码字符串中混淆转义序列
在 Python 字符串中写 "line1\nline2" 并认为 \n 就是两个字符(反斜杠 + n)Python 中 \n 是转义序列,代表一个实际换行符(0x0A);若需要字面量反斜杠+n 应写 r"line1\nline2" 或 "line1\\nline2"编程语言中 \n 是转义字符,不是两个独立字符;混淆会导致字符串内容与预期不符,尤其影响文件写入和网络传输。
替换后文本 = 原文本.replace(/\r\n?|\n/g, 目标换行符)
原文本待转换的原始字符串目标换行符CRLF(\r\n)、LF(\n)或CR(\r)原文本含混合换行:"A\r\nB\nC\rD",目标为LF(\n)。正则匹配所有\r\n、\n、\r,统一替换为\n,得"A\nB\nC\nD"。
不是工具问题,很可能是复制时编辑器自动保留了原格式。多数代码编辑器(VS Code、Sublime)在粘贴时会自动适配当前文件的换行风格,导致你看到的换行符已经和工具里选的目标格式一致了。建议先在本工具输入区粘贴后,点「查看原始字符」按钮(如果有),确认原始换行符类型;或者用十六进制编辑器看一眼 0x0A/0x0D 的数量再做转换。
会,但变化很小。CRLF 每行末尾多一个 0x0D(回车),文件大小增加约 1 字节/行。如果文件有 10 万行,转换后大约减少 97KB。对于纯文本文件这个差异通常可忽略,但如果你在处理 Git 仓库的换行符统一(autocrlf),这点差异会导致 Git 认为文件被修改了,建议配合 .gitattributes 一起用。
这通常是因为原始文本混用了 CRLF 和 LF 两种换行符(比如从不同操作系统拼接的日志)。本工具按「全局统一替换」处理,不会智能识别每行当前用的哪种。如果你的文本里两种换行符都有,建议先转成 LF(Unix 标准),再从 LF 转成你想要的最终格式;或者先用正则替换工具把零散的 CR 先统一。
不支持。本工具只做 CRLF / LF / CR 三种标准换行符之间的互转,不涉及替换为其他字符。如果你需要把换行符替换成逗号、空格或自定义分隔符,应该使用「文本替换」或「正则替换」类工具。本工具的输出结果在复制后可以直接粘贴到替换工具里做二次处理。
CSV 文件乱行通常不是换行符类型的问题,而是字段内包含换行符(引号包裹的单元格内换行)。本工具只处理行末的换行符,不会触碰引号内的换行。建议先用支持 CSV 解析的工具(如 Notepad++ 的 CSV Lint 插件)检查字段内换行情况;如果字段内确实有换行,需要先用正则把引号内的换行替换为占位符,转换后再替换回来。
跨平台传文本最稳妥的是用 LF(Unix 格式)。Windows 原生用 CRLF,Mac 从 OS X 开始也用 LF,但旧 Mac(System 9 及之前)用 CR。如果你不确定对方用什么系统,统一转成 LF;大部分现代编辑器(VS Code、Sublime、Notepad++)都能正确显示 LF 换行的文件。本工具支持一键把 CRLF 转成 LF,适合做跨平台前的预处理。
不会。本工具标记为 FE 实现,所有换行符转换逻辑都在浏览器本地 JavaScript 里执行,文本不会离开你的电脑。你可以关掉网络再试一次——转换功能依然可用。如果你的文本包含敏感数据(如密钥、密码、个人隐私),可以放心使用,没有上传风险。
这通常是目标网站或输入框对换行符的渲染方式不同。有些网站(如文本编辑器类)会把 LF 渲染成换行,但某些后台系统(如数据库管理面板、旧版 CMS 后台)只认 CRLF。如果你粘贴到特定网站后失效,先确认该网站支持哪种换行符:Windows 服务器通常需要 CRLF,Linux 服务器通常接受 LF。本工具支持三种格式互转,你可以多试一次转成 CRLF 再粘贴。
CR 换行符目前主要用于老旧的 Mac 系统(System 9 及之前)和一些嵌入式设备输出的日志。如果你在处理 2000 年以前的 Mac 文件、某些工业设备(如 PLC、条码扫描器)的导出文本,或者从某些老旧数据库导出的文本,可能会遇到 CR 换行符。日常使用中几乎碰不到,但本工具保留了这个选项,方便处理这类历史遗留数据。
隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。