前言
在使用 Keil MDK 的代码编辑器进行开发时,UTF-8 编码已成为主流格式,尤其是在 MDK 采用 AC6 工具链的情况下,对 UTF-8 的支持更加完善。因此,对于许多非 UTF-8 编码的文件,我们通常需要将其转换为 UTF-8 格式。
当前限制:该方法仅支持转换单个文件,无法批量转换整个文件夹下的所有文件。
一.添加转换工具
1.安装python环境
如果电脑已经安装 python,直接跳到第 2 步,否则要安装一下python。
python下载官网地址: https://www.python.org/downloads/
2.安装 Chardet插件
如果电脑已经安装 Chardet,直接跳到第 3 步,否则要安装一下Chardet。
【WIN】右键 ,选择【终端】打开,在 PowerShell 的窗口中输入 “pip install chardet”,按 【Enter】运行,窗口显示“Successfully installed chardet”代表安装成功。
3.添加 translate_to_utf8.py 脚本文件
点击文章末尾“资源下载”链接进去下载装换工具脚本,可以在任何目录下新建文件夹存放 “translate_to_utf8.py ”脚本文件,对存放路径没要求。这里例程是把这个脚本文件放在 keil 的安装目录下的“ Tools ”文件夹里。
Python脚本文件代码
# -*- coding: UTF-8 -*-
# 将任意其他编码文本文件转换为UTF-8编码
import sys
import chardet
import codecs
if len(sys.argv) > 1 :
content = open(sys.argv[1], 'rb').read();
source_encoding = chardet.detect(content)['encoding'];
print(source_encoding);
if source_encoding != None:
if source_encoding != 'utf-8' and source_encoding != 'utf-8-SIG':
content = content.decode(source_encoding, 'ignore')
codecs.open(sys.argv[1], 'w', encoding='UTF-8').write(content);
4.在keil5 添加自定义外部工具菜单
打开keil5 软件,点击【Tools】,选择【Customize Tools Menu】,点击【新建】按钮,输入插件工具名称:“Convert2UTF-8”,工具名称可以任意取名;
【Command】命令选项:python “D:\Program Files\Keil_v5\Tools\translate_to_utf8.py”
【Argument】选项:#E
Command 表示命令调用python脚本“translate_to_utf8.py”,目录填写之前复制脚本文件的目录;【#E】 表示当前编辑文件;
5.keil5 设置快捷键
快捷键设置,非必须,如果不需要就跳过这一步。在这里用“Ctrl+J”表示这个工具脚本快捷键。
首先点击设置,选择【Shortcut Keys】,找到之前命名的工具脚本,点击【Create Shortcut】创建,然后在弹出的对话框按住键盘“Ctrl+J”,在“Press new shortcut Key”框会显示刚才在键盘输入“Ctrl+J”,最后点击【OK】完成。
二.编码转换工具测试
1.keil 设置utf8格式
下面工程文件是 【GB2312】编码格式,在 keil5设置成【UTF-8】格式后,中文注释显示乱码,
显示结果如下:
2.转换编码格式
keil 工程中遇到非 UTF-8 编码的文件,在 keil5设置成【UTF-8】格式后,只要点击 【Tools】,选择【 Convert2UTF-8】工具,将文件编码格式转换为 UTF-8,解决中文注释显示乱码问题。
显示结果如下:
参考文章
参考CSDN这篇文章:KEIL-MDK将源代码编码转换为UTF-8