gbk转utf-8

2024-05-25 21:04
文章标签 utf gbk

本文主要是介绍gbk转utf-8,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

你们曾经有没有因为文件的编码问题而苦恼过?在Windows下开发时,尤其是项目初期,如果没有特别注意文件的字符编码问题,等到项目变大后,用Git对比代码时,很可能会发现一些乱码。这时才意识到字符编码的重要性。为了方便后期开发,通常会希望将项目中的编码转换为目前主流的UTF-8。如果一个一个文件地手动转码,这将是一项非常繁琐的工作。

鉴于上述问题我实现了一个 gbk 转 utf-8 工具。

简介

此项目是将文件编码由 GBK 转成 UTF-8,目前只支持由编码 GBKGB2312GB18030 转到 UTF-8

!!!转码之前记得备份一下,以免转码出错 !!!

编译

git clone git@github.com:zleihao/code_conversion.git
cd code_conversion# Linux
cmake -S . -B build
# MinGW64
cmake -S . -B build -G "MinGW Makefiles"cd build
make

上述指令执行完后,会在目录 build 下生成可执行文件:conver

用法

本工具支持单个文件转码或者是整个文件夹下的文件进行转码,二者在使用时稍有不同。

  • 单个文件进行转码

    ./build/conver <file_path>
    
  • 以文件夹形式进行转码

    ./build/code_conversion <file_path> <file_suffix_list>
    

    file_suffix_list表示的是文件的后缀,例如:.c、.h之类的。传入多种类型时,不同类型之间用一个空格隔开,不要用一个以上。

    假设想把一个文件夹下所有的 .c .h .S 文件由gbk编码转成utf-8只需执行下面的命令即可:

    ./build/code_conversion /project/src ".c .h .S"
    

仓库地址:https://github.com/zleihao/code_conversion

这篇关于gbk转utf-8的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1002617

相关文章

C++ | Leetcode C++题解之第393题UTF-8编码验证

题目: 题解: class Solution {public:static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num &

C语言 | Leetcode C语言题解之第393题UTF-8编码验证

题目: 题解: static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num & MASK1) == 0) {return

在Unity环境中使用UTF-8编码

为什么要讨论这个问题         为了避免乱码和更好的跨平台         我刚开始开发时是使用VS开发,Unity自身默认使用UTF-8 without BOM格式,但是在Unity中创建一个脚本,使用VS打开,VS自身默认使用GB2312(它应该是对应了你电脑的window版本默认选取了国标编码,或者是因为一些其他的原因)读取脚本,默认是看不到在VS中的编码格式,下面我介绍一种简单快

maven项目中程序运行编译的时候出现:编码GBK的不可映射字符

由于JDK是国际版的,我们在用javac.exe编译时,编译程序首先会获得我们操作系统默认采用的编码格式(也即在编译java程序时,若我们不指定源程序文件的编码格式,JDK首先获得操作系统的file.encoding参数(它保存的就是操作系统默认的编码格式,如WIN2k,它的值为GBK),然后JDK就把我们的java源程序从file.encoding编码格式转化为JAVA内部默认的UNICODE格

1字节的UTF-8序列的字节1无效

使用DOMReader解析XML文档时候报错”1字节的UTF-8序列的字节1无效”,我这里的解决方法。 1.手动将< ? xml version=”1.0” encoding=”UTF-8”?>中的UTF-8更改成UTF8,这样就可以了。 2.使用文本编译器把xml文档改成以UTF8无BOM编码格式就可以了。

页面jsp编码utf-8,传递中文参数到java后台出现乱码

1、前台页面jsp的编码是contentType=”text/html; charset=utf-8” 后台编码是gdk,传递中文参数时出现乱码,后台接收到传递的参数时需要进行转换才能解决乱码问题。 new String(this.getParameter("teacherName").getBytes("iso-8859-1"),"utf-8") 2、google浏览器显示正常,但是IE浏

Android 打开 GBK项目如何设置成UTF-8

1.标题 今天打开一个eclipse老项目,编码格式为GBK,Android studio导入项目报错,本人想到一个方案就是批量修改文件格式从 GBK到 UTF-8,这样可以一键解决问题 2.开发脚本 使用前请备份代码   使用前请备份代码   使用前请备份代码 脚本代码如下,保存到文件下为 shell.ps1 # 获取当前脚本的所在目录$folderPath = Get-Loca

Golang | Leetcode Golang题解之第393题UTF-8编码验证

题目: 题解: const mask1, mask2 = 1 << 7, 1<<7 | 1<<6func getBytes(num int) int {if num&mask1 == 0 {return 1}n := 0for mask := mask1; num&mask != 0; mask >>= 1 {n++if n > 4 {return -1}}if n >= 2 {retur

Java | Leetcode Java题解之第393题UTF-8编码验证

题目: 题解: class Solution {static final int MASK1 = 1 << 7;static final int MASK2 = (1 << 7) + (1 << 6);public boolean validUtf8(int[] data) {int m = data.length;int index = 0;while (index < m) {int