linux中的文件编码如何转换

  1. 查看文件的编码\

file

使用 file 命令,并添加-i或–mime参数来查看一个文件的字符编码。

  1. 编码转换工具iconv

iconv options -f from-encoding -t to-encoding inputfile(s)

-f或–from-code表明了输入编码,而-t或–to-encoding指定了输出编码。

  1. 列出所有支持的编码字符集

iconv
  1. 文件编码转换的例子

iconv

将文件从 ISO-8859-1 编码转换为 UTF-8 编码。

如果输出编码后面添加了//IGNORE字符串,那些不能被转换的字符将不会被转换,并且在转换后,程序会显示一条错误信息。

如果字符串//TRANSLIT被添加到了上面例子中的输出编码之后 (UTF-8//TRANSLIT),待转换的字符会尽量采用形译原则。也就是说,如果某个字符在输出编码方案中不能被表示的话,它将会被替换为一个形状比较相似的字符。

如果一个字符不在输出编码中,而且不能被形译,它将会在输出文件中被一个问号标记?代替。

  1. 将多个文件转换为 UTF-8 编码
    可以利用shell脚本

#!/bin/bash
### 将 values_here 替换为输入编码
FROM_ENCODING="value_here"
### 输出编码 (UTF-8)
TO_ENCODING="UTF-8"
### 转换命令
CONVERT=" iconv  -f   $FROM_ENCODING  -t   $TO_ENCODING"
### 使用循环转换多个文件
for  file  in  *.txt; do
$CONVERT   "$file"   -o  "${file%.txt}.utf8.converted"
done
exit

以上就是linux中的文件编码如何转换的详细内容,更多请关注其它相关文章!