文件存储格式转换(ASCII <-> UTF-8)

本文介绍了在Source Insight中遇到的中文注释显示问题,以及如何通过修改文件编码来解决。作者分享了一个Python脚本,用于批量转换ASCII和UTF-8编码的文件,解决了使用'native2ascii'命令时可能存在的问题。脚本需要Python 2.7环境及chardet模块,并提供了使用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件存储格式转换(ASCII&UTF-8)

在用 Source Insight[version 3.50.0080] 看用在 Linux 上的代码时发现对中文注释的支持很不友好,看到网上又说要改注释字体为“新宋体”(/“宋体”)的,但我没弄成。就想着直接把编码为 UTF-8 的文件存为 ASCII,首先想到的是“记事本”中的“另存为”,但当文件太多时显然不行。
搜了好多,发现一个写的还不错的sourceinsight中文显示乱码问题彻底解决办法
简单明了,不过好似有点问题–会把原本是 ASCII 的文件给弄坏了,将改进了一点(在命令行输入目标文件夹,并不能修复关于 ASCII 的问题 -.-。另外,记事本存为 UTF-8 时其实是 “UTF-8 with BOM”,这也带来了不少问题)的贴在下边:

@echo off
set DIR=%1%
if "%DIR%"=="" (
  echo "Should input the dictionary name") else (
    for /R %DIR% %%i in (*.h *.c *.cpp *.cs *.mak *.java) do (
    echo %%i
    native2ascii -encoding UTF-8 %%i %DIR%\temp
    native2ascii -reverse %DIR%\temp %%i
    )
echo ALL DONE
pause
)

关于 native2ascii 的一些参考资料:

1.native2ascii命令

2.native2ascii命令详解


所以,就自己写了个 python 程序来实现所需功能:ASCII 与 UTF-8 互相转换:

注:需要自行安装 chardet 模块,且我的 python 环境是 2.7

使用方式: python transformFormat.py fileOrDirName toUTF_8(True/False) fileExtensions(c,cpp,h,cs,mak)[optional]

比如:python transformFormat.py H:\test True c cpp h

就可以将 H:\test 文件夹下的所有后缀为 .c/.cpp/.h 的文件转为 UTF

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值