说明场景
在windows环境编辑一个文件,准备在Linux中使用。但是打开文件发现 出现 ^M 这种乱码。
分析原因
这是由于windows和Linux对回车符定义不同造成的。windows回车是 0XOD 0X0A ,而Linux对回车符的定义时 0X0A。不统一就导致了这种乱码。下面是我从网上找到的解决方法:
1.使用字符串替换方法
vim切换到命令模式,然后
: %s/^M$//g
- %指匹配整个文件
- s是置换的意思
- ^M要用ctrl+v+m 组合键敲入
- $表示匹配行尾的内容
- g表示每行中匹配到的内容都要置换
2.文件经过压缩后传递
Windows与Linux拷贝文件时尽量使用压缩文件传递。比如ZIP文件。
window将zip压缩包发送到Linux文件目录,Linux环境使用 unzip 命令解压。