跨平台文件编码和换行问题的解决办法
使用windows编辑,会有回车问题和编码问题。
换行问题: Win 换行 \r\n Linux 换行 \n Mac 换行 \r 。很多工具在这方面不兼容,比如Shell。
编码问题: Linux 默认使用utf-8 (without BOM),Win 默认GBK。 linux下直接打开win文档会中文乱码。
Win打开Linux 乱码可能性比较小兼容做的比较好。
下列软件可以解决编码问题和回车问题
fromdos 命令解决换行问题。
enca 工具可以查看文件编码。
enca 、 enconv 、 iconv 可以转换编码。
convmv 可以解决 文件名乱码。
命令安装以及使用方法:
apt-get install tofrodos
tofrodos 包含两个命令 todos fromdos 处理回车问题。 dos 是 win 前身,字面意思理解即可。
todos *.c
fromdos *.h
该软件不提供文件夹递归操作 。 此命令可以完成: find -name "*.sh" | xargs -0 fromdos
apt-get install enca
enca 命令可能会遇到语言识别问题,可以添加 -L zh_CN (中文编码)解决。
enca -L zh_CN -x UTF-8 test.txt // -L 语言 -x 目标编码
enca -L zh_CN -x UTF-8 <oldname.txt> newname.txt // -L 语言 -x 目标编码 不删除oldfile
enconv -L zh_CN -x UTF-8 test.txt // -L 语言 -x 目标编码
enconv -L zh_CN -x GB2312 test.txt // -L 语言 -x 目标编码
iconv -f UTF-8 -t GBK file1 -o file2 // -f 原本编码 -t 目标编码
apt-get install convmv
convmv -f GBK -t UTF-8 *.mp3 // -f 原本编码 -t 目标编码 -r 目录下所有文件