参考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  
  1. enconv 转换文件编码,比如要将一个GBK编码的文件转换成UTF-8编码,操作如下
    enconv -L zh_CN -x UTF-8 filename

  2. iconv 转换,iconv的命令格式如下:
    iconv -f encoding -t encoding inputfile
    比如将一个UTF-8 编码的文件转换成GBK编码
    iconv -f GBK -t UTF-8 file1 -o file2

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐