Windows与Unix的字符转化-创新互联

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

巢湖ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!

  这里先说一下字符集编码,在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则相反

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

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享文章:Windows与Unix的字符转化-创新互联
URL分享:http://scyanting.com/article/dohdch.html