windows linux 字符,Windows与Unix的字符转换

众所周知在Windows与Unix的之间的字符集编码和正则字符定位符是有很大的差异的,如果在不同系统之间传递文件总会带来因为字符集编码和字符定位符的不同带来很多的错误。

这里先说一下字符集编码,在unix,一般使用的是Utf-8,而在Windows中系统中用的就比较多了,大部分有GB2312(中文简体)、BIG5(中文繁体)等等,那么如果使用的字符集不正确源文件打开就会有乱码,这个时候我们就需要用iconv来对源文件进行转换,以适应不同系统环境,iconv的用法如下:

用法: iconv [选项...] [文件...]

转换给定文件的编码。

输入/输出格式规范:

-f, --from-code=名称    原始文本编码

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

信息:

-l, --list                列举所有已知的字符集

输出控制:

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

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

-s, --silent              关闭警告

--verbose              打印进度信息

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

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

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

这样我们就可以通过这个指令写成脚本用于实际生产环境中,一般来说这个软件在系统安装时都有默认安装,如果没有可以到gnu的网站上下载源码包安装,这个安装没有什么依赖包,安装很简单的,这里就不赘述了

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

除了字符集编码以外在Windows与Unix之间使用的正则定位符还有一些区别,如在Windows编辑的文件在unix系统中打开会,在每一行的行尾都会有“^M”,这个就是两者间的正则定位符不一样的问题了。在Windows中行尾结束符为“^M$”,而在unix系统中则为“$”,这样我们在使用的时候就会有很多的困扰,那么这个就需要使用unix2dos dos2unix2个指令来对正则定位符进行转换,在使用这2个指令的时候,在yum源配置正确的时候可以直接安装,使用方法如下:

[root@localhost ~]# yum -y install unix2dos dos2unix

dos2unix与unix2dos:

-k:保持输出文件的日期不变

-q:安静模式,不提示任何警告信息。

-V:查看版本

-c:转换模式,模式有:ASCII, 7bit, ISO, Mac, 默认是:ASCII。

-o:写入到源文件

-n:写入到新文件

两者的参数选项使用方法都是一样的,区别是dos2unix是把DOS(即Windows)转成UNIX格式,而unix2dos则相反

平时我们在不同系统之间进行交换文件时就需要注意这些问题,以免造成错误。

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值