将windows文件转换成支持Linux文件的换行符号,使用Unix2dos,那么如何装换文件编码呢?
举例子
有一个文件使用Big5 编码,如何装换成UTF-8 编码呢?
sboxes@osboxes ~/D/vmware-tools-distrib> iconv --help
Usage: iconv [OPTION...] [FILE...]
Convert encoding of given files from one encoding to another.
Input/Output format specification:
-f, --from-code=NAME encoding of original text
-t, --to-code=NAME encoding for output
Information:
-l, --list list all known coded character sets
Output control:
-c omit invalid characters from output
-o, --output=FILE output file
-s, --silent suppress warnings
--verbose print progress information
-?, --help Give this help list
--usage Give a short usage message
-V, --version Print program version
Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.
For bug reporting instructions, please see:
<https://bugs.launchpad.net/ubuntu/+source/eglibc/+bugs>
常用语法
iconv -f [原来编码] -t [新编码] file -o newfile
查看字符编码
file filename
当把DOS文件在Linux 上打开的时候,比如:使用命令 cat -A file
我们会发现DOS换行符 ^M$
,也被称为CR和LF两个符号。
但是在linux 上仅有LF($)
一个符号表示换行符
DOS
这里为什么要提及DOS,因为DOS是微软的早期系统,并且没有图形界面,但是与 Windows系统一样,有很多相似支持,比如这里换行符,因为全是微软的出品的系统。Windows在某种程度上支持DOS。Windows操作系统的后续版本(如Windows XP、Windows 7、Windows 10等)保留了对DOS的一定程度的兼容性支持。
因此,你可以理解为这里的DOS指的是windows系统。
windows的换行符和Linux的换行符是不一样的
转换
Linux系统中,提供了命令支持两者之间的转换
dos2unix -kn file newfile
unix2dos -kn file newfile
#含义:保留修改时间,保留源文件,转换成newfile
这里的unix,就是Linux的前身,所以这里是一脉想成的,linux
发展都深受到unix
和minix
的影响,所以有大量相似之处。
使用
在不同系统windows和Linux 中,复制纯文本,就需要使用unix2dos
或者dos2unix
进行转换。
注意:不建议在windows上编辑好了文件后,上传到linux上,会容易发生错误。
0 评论