文件编码,文件或文件名编码格式转换.pdfVIP

文件编码,文件或文件名编码格式转换.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

⽂件编码,⽂件或⽂件名编码格式转换

如果你需要在Linux中操作windows下的⽂件,那么你可能会经常遇到⽂件编码转换的问题。Windows中默认的⽂件格式是

GBK(gb2312),⽽Linux⼀般都是UTF-8。下⾯介绍⼀下,在Linux中如何查看⽂件的编码及如何进⾏对⽂件进⾏编码转换。

⼀,查看⽂件编码:

在Linux中查看⽂件编码可以通过以下⼏种⽅式:

1.在Vim中可以直接查看⽂件编码

:setfileencoding

即可显⽰⽂件编码格式。

如果你只是想查看其它编码格式的⽂件或者想解决⽤Vim查看⽂件乱码的问题,那么你可以在

~/.vimrc⽂件中添加以下内容:

setencoding=utf-8fileencodings=ucs-bom,utf-8,cp936

这样,就可以让vim⾃动识别⽂件编码(可以⾃动识别UTF-8或者GBK编码的⽂件),其实就是依照fileencodings提供的编码列表尝试,

如果没有找到合适的编码,就⽤latin-1(ASCII)编码打开。

2.enca(如果你的系统中没有安装这个命令,可以⽤sudoyuminstall-yenca安装)查看⽂件编码

$encafilename

filename:Universaltransformationformat8bits;UTF-8

CRLFlineterminators

需要说明⼀点的是,enca对某些GBK编码的⽂件识别的不是很好,识别时会出现:

Unrecognizedencoding

⼆,⽂件编码转换

1.在Vim中直接进⾏转换⽂件编码,⽐如将⼀个⽂件转换成utf-8格式

:setfileencoding=utf-8

2.iconv转换,iconv的命令格式如下:

iconv-fencoding-tencodinginputfile

⽐如将⼀个UTF-8编码的⽂件转换成GBK编码

iconv-fGBK-tUTF-8file1-ofile2

3.enconv转换⽂件编码

⽐如要将⼀个GBK编码的⽂件转换成UTF-8编码,操作如下

enconv-Lzh_CN-xUTF-8filename

三,⽂件名编码转换:

从Linux往windows拷贝⽂件或者从windows往Linux拷贝⽂件,有时会出现中⽂⽂件名乱码的情况,出现这种问题的原因是因

为,windows的⽂件名中⽂编码默认为GBK,⽽Linux中默认⽂件名编码为UTF8,由于编码不⼀致,所以导致了⽂件名乱码的问题,解决这

个问题需要对⽂件名进⾏转码。

在Linux中专门提供了⼀种⼯具convmv进⾏⽂件名编码的转换,可以将⽂件名从GBK转换成UTF-8编码,或者从UTF-8转换到GBK。

⾸先看⼀下你的系统上是否安装了convmv,如果没安装的话⽤:

yum-yinstallconvmv

安装。

下⾯看⼀下convmv的具体⽤法:

convmv-f源编码-t新编码[选项]⽂件名

常⽤参数:

-r递归处理⼦⽂件夹

–notest真正进⾏操作,请注意在默认情况下是不对⽂件进⾏真实操作的,⽽只是试验。

–list显⽰所有⽀持的编码

–unescap可以做⼀下转义,⽐如把%20变成空格

⽐如我们有⼀个utf8编码的⽂件名,转换成GBK编码,命令如下:

convmv-fUTF-8-tGBK–notestutf8编码的⽂件名

这样转换以后”utf8编码的⽂件名”会被转换成GBK编码(只是⽂件名编码的转换,⽂件内容不会发⽣变化)

四,vim编码⽅式的设置

和所有的流⾏⽂本编辑器⼀样,Vim可以很好的编辑各种字符编码的⽂件,这当然包括UCS-2、UTF-8等流⾏的Unicode编码⽅式。然

⽽不幸的是,和很多来⾃Linux世界的软件⼀样,这需要你⾃⼰动⼿设置。

Vim有四个跟字符编码⽅式有关的选项,encoding、fileencoding、fileencodings、termencoding(这些选项可能的取值请参考Vim

在线帮助:helpencoding-names),它们的意义如下:

*encoding:Vim内部使⽤的字符编码⽅式,包括Vim的buffer(缓冲区)、菜单⽂本、消息⽂本等。默认是根据你的locale选择.⽤户⼿册

上建议只在.vimrc中改变它的值,事实上似乎也只有在.vimrc中改变它的值才有意义。你可

文档评论(0)

洞察 + 关注
官方认证
文档贡献者

博士生

认证主体宁夏三科果农牧科技有限公司
IP属地宁夏
统一社会信用代码/组织机构代码
91640500MABW4P8P13

1亿VIP精品文档

相关文档