Linux下文件编码格式的转换

Linux系统下的文件默认的是UTF-8编码,而Windows使用的是GBK编码的,造成了有些文件拷贝到Linux下是乱码,解决此类问题只需转换一下文件的编码方式即可。

一、查看文件的编码格式

要查看某一文件的编码格式可使用file命令,如"file 1.txt"就是查看文件1.txt的编码方式,"file *"就是查看某一目录下所有文件的编码方式。

[b][b]file 1.txt

1.txt: UTF-8 Unicode text[/b][/b]

二、文件编码格式转换

文件编码格式的转换可使用多种命令,如iconv,convmv

使用命令iconv进行文件编码格式默许的将文件内容输入到规范的输出装备(如终端),也可指定输出文件。具体使用方法如下:

iconv [选项...] [文件...]

有以下选项可使用:

输入/输出格式规范:-f, --from-code=称号 原始文本编码

-t, --to-code=称号 输出编码

信息:-l, --list 罗列一切已知的字符集

输出控制:-c 从输出中忽略无效的字符

-o, --output=FILE 输出文件

-s, --slient 关闭告诫

--verbose 打印进度信息

-?, --help 给出该系统求助列表

--usage 给出简要的用法信息

-V, --version 打印程序版本号

例:读取1.txt文件并将其编码由UTF-8转换成GB2312并输入到文件2.txt中

iconv -f UTF-8 to GB2312 1.txt >2.txt

用命令iconv可将文件的内容转换但文件的名称仍然是乱码,故找到能够转换文件名编码的命令convmv,具体用法如下:

convmv -f GBK -t UTF-8 --notest *.mp3

-f为转换前的编码,-t是转换后的编码,--notest表示真正的转换参数,如无则不会真正的转换.还有一个参数-r表示递归转换现在目录下的一切子目录。

三、傻瓜型命令行工具enca

enca不但能智能的识别文件的编码,并且还支持成批转换

1.安装

sudo apt-get install enca

2.检查文件编码

enca -L zh_CN 1.txt

Simplified Chinese National Standard; GB2312

Surrounded by/intermixed with non-text data

3.转换

命令行格式为enca -L 现在语言 -x 目标语言 文件名

例:将目前目录下一切文件都转换为UTF-8格式 enca -L zh_CN -x UTF-8

检查文件的编码 enca -L zh_CN 1.txt

将文件编码转换为“UTF-8”编码 enca -L zh_CN -x UTF-8 1.txt

转换文件格式为“UTF-8”编码且不掩盖原文件 enca -L zh_CN -x UTF-8 < 1.txt >2.txt
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值