Linux 文件编码以及换行问题解决办法

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

原文地址:https://www.cnblogs.com/JiuHuan/p/10074189.html

时间: 2024-10-10 04:19:24

Linux 文件编码以及换行问题解决办法的相关文章

(转)剖析Linux文件编码的查看及修改

Linux文件编码的查看和修改都有不止一种做法,如果你需要在Linux中操作windows下的文件,那么很可能会经常遇到文件编码转换的问题,如何进行这项工作,也应该是经常工作在双系统下的操作者的必须掌握的知识. Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8.下面介绍一下,在Linux中如何查看文件的编码及如何进行对文件进行编码转换. 查看文件编码 在Linux中查看文件编码可以通过以下几种方式: 1.在Vim中可以直接查看文件编码 :set fileen

linux文件编码

linux下新建一个文件,或采用fopen新建,那么文件的编码是什么? Linux系统默认语言编码如下 # cat /etc/sysconfig/i18n LANG="en_US.UTF-8"SYSFONT="latarcyrheb-sun16" 运行locale指令得到当前系统编码设置的详细资料. 一.locale的五脏六腑 1. 语言符号及其分类(LC_CTYPE)2. 数字(LC_NUMERIC)3. 比较和排序习惯(LC_COLLATE)4. 时间显示格式(

[Linux文件]带回车换行的写入字符串实例

 //这是在上一个实例的基础上用strcat函数解决了回车换行的问题  #include <fcntl.h>  #include <stdio.h>  #include <string.h>  int main(int argc,char *argv[])  {    int fd;      //文件描述符    int temp;    //临时变量    char writebuf[30];  //用于存放写入字符串    char endbuf[] = &quo

Linux 下文件名乱码(无效的编码)的解决办法

文件是在WIndows 下创建的,Windows 的文件名中文编码默认为GBK,而Linux中默认文件名编码为UTF8,由于编码不一致所以导致了文件名乱码的问题,解决这个问题需要对文件名进行转码. sudo apt-get install convmv convmv 使用方法:convmv -f 源编码 -t 新编码 [选项] 文件名常用参数:-r 递归处理子文件夹–notest 真正进行操作,默认情况下是不对文件进行真实操作–list 显示所有支持的编码–unescap 可以做一下转义,比如把

Linux文件和windows文件在 换行符的区别

Linux或Unix文件,和windows文件,在来回处理时,如果不注意 换行符的区别,可能导致程序错误!!!深刻的教训.... 在早期的打印机时代,开始新的一行要占用两个字符的时间.如果到了一行的结尾处,你要快速回到新的一行的开头,需要打印针头在纸面上飞快地掠过,常常会在纸面上留下污点.解决这个问题的办法就是,用两个字符:一个字符<Return>来移到第一列,另一个字符<Line feed>来新增一行.计算机产生以后,存储较为昂贵,在如何解决回车换行这个老问题上,人们产生了不同的

matlab linux 中文显示问题解决办法

matlab linux 中文显示问题解决办法 2011-09-26 17:07:06|  分类: 默认分类 |  标签: |举报 |字号大中小 订阅 下面的方法你试试看哈! 由于Linux下Matlab的图形界面是用Java写的,所以只要搞定Java的中文显示就行了.1.我Matlab2007a的JRE目录为:/opt/matlab/sys/java/jre/glnx86/jre1.5.0 请根据自己的安装目录和版本确定JRE的目录:2. $ cd /opt/matlab/sys/java/j

windows和linux下读取文件乱码的终极解决办法!

乱码是个很恶心的问题. windows和linux读取txt文件,一旦读取了,编码发生改变,就无法再还原了,只有重启项目. 网上有很多方法都是读取文件头,方法很好,但是亲测都不能用(右移8位判断0xff的,取3个字节的-1,-2的,大体上网上最多就这两种). 后来偶然发现一个方法,CharsetPrinter. 这个方法需要引入jar包,非常好用. public static String guessEncoding(String filename) { try { CharsetPrinter

Linux下查看文件编码,文件编码格式转换和文件名编码转换

linux相关   2008-10-07 10:46   阅读1392   评论0   字号: 大大  中中  小小  如果你需要在Linux中 操作windows下的文件,那么你可能会经常遇到文件编码转换的问题.Windows中默认的文件格式是GBK(gb2312),而Linux一般都是 UTF-8.下面介绍一下,在Linux中如何查看文件的编码及如何进行对文件进行编码转换. 查看文件编码 在Linux中查看文件编码可以通过以下几种方式: 1.在Vim中可以直接查看文件编码 :set file

linux下查看文件编码及修改编码

http://blog.csdn.net/jnbbwyth/article/details/6991425 查看文件编码在Linux中查看文件编码可以通过以下几种方式:1.在Vim中可以直接查看文件编码:set fileencoding即可显示文件编码格式.如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在~/.vimrc 文件中添加以下内容: set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936 这样,就可以