欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

跨平台文件编码和换行问题的解决办法

程序员文章站 2023-11-29 11:33:58
使用windows编辑,会有回车问题和编码问题。换行问题: Win 换行 \r\n Linux 换行 \n Mac 换行 \r 。很多工具在这方面不兼容,比如Shell。编码问题: Linux 默认使用utf-8 (without BOM),Win 默认GBK。 linux下直接打开win文档会中文 ......

 

使用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 目录下所有文件