参考https://blog.csdn.net/sxf_123456/article/details/78895357
转换c文件
encodingc.sh
#!/bin/bash
### 将 values_here 替换为输入编码
FROM_ENCODING="GB18030"
### 输出编码 (UTF-8)
TO_ENCODING="UTF-8"
### 转换命令
CONVERT=" iconv -f $FROM_ENCODING -t $TO_ENCODING"
### 使用循环转换多个文件
for file in *.c; do
$CONVERT "$file" -o "${file%.c}.c"
done
exit 0
h文件
encodingh.sh
#!/bin/bash
### 将 values_here 替换为输入编码
FROM_ENCODING="GB18030"
### 输出编码 (UTF-8)
TO_ENCODING="UTF-8"
### 转换命令
CONVERT=" iconv -f $FROM_ENCODING -t $TO_ENCODING"
### 使用循环转换多个文件
for file in *.h; do
$CONVERT "$file" -o "${file%.h}.h"
done
exit 0
上面的命令转换有时候会删除掉文件,用Vim输入 :set fileencoding=utf-8 比较保险。
参考
https://www.cnblogs.com/hnrainll/archive/2011/07/22/2113557.html
文件编码转换
1.在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式
Shell代码
:set fileencoding=utf-8
-
enconv 转换文件编码,比如要将一个GBK编码的文件转换成UTF-8编码,操作如下
enconv -L zh_CN -x UTF-8 filename -
iconv 转换,iconv的命令格式如下:
iconv -f encoding -t encoding inputfile
比如将一个UTF-8 编码的文件转换成GBK编码
iconv -f GBK -t UTF-8 file1 -o file2