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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/15482.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LLM——探索大语言模型在心理学方面的应用研究

1. 概述 心理学经历了多次理论变革&#xff0c;目前人工智能&#xff08;AI&#xff09;和机器学习&#xff0c;特别是大型语言模型&#xff08;LLMs&#xff09;的使用&#xff0c;预示着新研究方向的开启。本文详细探讨了像ChatGPT这样的LLMs如何转变心理学研究。它讨论了LL…

docker- 镜像 导出导入

文章目录 前言docker- 镜像 导出导入1. 导出2. 删除镜像3. 导入镜像 前言 如果您觉得有用的话&#xff0c;记得给博主点个赞&#xff0c;评论&#xff0c;收藏一键三连啊&#xff0c;写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差&#xff0c;实在白嫖的话&…

Nginx 从入门到精通-Nginx-Web服务器的瑞士军刀

在当今互联网高速发展的时代&#xff0c;作为Web服务器的Nginx可谓是一把"瑞士军刀"&#xff0c;其强大的功能和出色的性能备受青睐。然而&#xff0c;仅仅停留在"会用"的层面是远远不够的&#xff0c;要充分发挥Nginx的潜力&#xff0c;我们还需要深入了解…

SpringBoot Validation自定义注解之校验指定最小整数

1&#xff0c;引入核心关键依赖 <!--数据校验--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency> 2&#xff0c;自定义注解 package com.taia.ym…

忘记“也是一门学问:机器如何忘记自己学到的知识?

在信息时代&#xff0c;我们常常希望人工智能能够学到更多的知识&#xff0c;变得更加智能。但你是否想过&#xff0c;有时候让机器"忘记"一些它学到的东西&#xff0c;也是一件很重要的事&#xff1f; 随着用户隐私保护意识的提高和相关法律法规的出台&#xff0c;…

深入理解内联函数(C语言)

目录 1.什么是内联函数2.内联函数与宏3.编译器对内联函数的处理4.参考文献 1.什么是内联函数 很多人都会知道&#xff0c;可以将比较小的函数写成内联函数的形式&#xff0c;这样会节省函数调用的开销&#xff0c;具体是什么样的开销呢&#xff1f; 一个函数在执行过程中&…

v-if 与 v-show(vue3条件渲染)

v-if 是“真正”的条件渲染&#xff0c;因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。 v-if 也是惰性的&#xff1a;如果在初始渲染时条件为假&#xff0c;则什么也不做——直到条件第一次变为真时&#xff0c;才会开始渲染条件块。 相比之下&a…

Java—单例模式

什么是单例模式&#xff1f; 单例模式是一种软件设计模式&#xff0c;它确保一个类只有一个实例&#xff0c;并提供一个全局访问点来访问该实例。在单例模式中&#xff0c;类自身负责创建自己的唯一实例&#xff0c;并且保证在整个应用程序中只能访问到这个实例。 实现步骤&a…

IDEA通过tomcat运行注意事项

配置run--》edit configurations 以下的A B部分要保持一致 A和B的路径要保持一致

前端vue项目遇到的问题01——那些初级问题

前端vue项目遇到的问题01——那些初级问题 1. npm install 问题1.1 依赖冲突1.1.1 详细问题1.1.2 报错原因1.1.3 解决问题1.1.3.1 方式1——无视冲突1.1.3.1 方式2——更换依赖版本 1.2 nodejs版本问题1.3 node版本正确的情况&#xff08;audit问题&#xff09;&#xff08;这个…

Java链表简介

在Java中使用链表作为一种数据结构&#xff0c;并将其与MySQL作为底层数据库进行集成&#xff0c;涉及几个关键方面&#xff0c;包括数据存储、数据操作的效率、以及如何在应用层和数据库层之间映射数据结构。下面是对这些方面的分析&#xff1a; ### Java中的链表数据结构 链…

HTML5新特性、JS【初识JS 、JS核心语法】--学习JavaEE的day47

day47 HTML5新特性 定义文档类型 在文件的开头总是会有一个标签 语言文档类型声明方式html4<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">html5<!DOCTYPE html> 新增语义化标签 理解&…

vite-plugin-vue-devtools插件

vite-plugin-vue-devtools插件旨在帮助开发者更快地理解并调试Vue应用。它通过提供全面的功能和直观的界面&#xff0c;以图形化的方式展示应用程序状态&#xff0c;使开发者能够更方便地查看和管理Vue应用的各个方面。此外&#xff0c;该插件还支持Vue3.0版本&#xff0c;并且…

【Go专家编程——内存管理——垃圾回收】

垃圾回收 所谓的垃圾就上不在需要的内存块&#xff0c;垃圾如果不清理&#xff0c;这些内存块就没有办法再次被分配使用。在不支持垃圾回收的编程语言中&#xff0c;这些垃圾内存就上泄露的内存。 1. 垃圾回收算法 常见的垃圾回收算法有3种 引用计数&#xff1a;对每个对象…

yolov10 快速使用及训练

参考: https://docs.ultralytics.com/models/yolov10/ ultralytics其实大多数系列都能加载使用: 官方: https://github.com/THU-MIG/yolov10.git 代码参考: https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/train-yolov10-object-…

一篇文章讲透排序算法之希尔排序

希尔排序是对插入排序的优化&#xff0c;如果你不了解插入排序的话&#xff0c;可以先阅读这篇文章&#xff1a;插入排序 目录 1.插入排序的问题 2.希尔排序的思路 3.希尔排序的实现 4.希尔排序的优化 5.希尔排序的时间复杂度 1.插入排序的问题 如果用插入排序对一个逆序…

521源码-免费代码基础学习-PHP如何运用变量教程

更多网站源码学习教程&#xff0c;请点击&#x1f449;-521源码-&#x1f448;获取最新资源 为什么要学习PHP&#xff1f;“我可以用JavaScript来实现程序编写。”但JavaScript的能力是有限的&#xff0c;JavaScript通常运行在浏览器&#xff08;客户端&#xff09;&#xff0…

go语言中for的4种循环形式总结

和其他语言不一样&#xff0c;go语言中的循环语句只有for一种&#xff0c;但是go里面的for却有3种不同的循环形式&#xff0c;总结如下&#xff1a; 1. 无限循环 for { //这个就是一个“死循环”&#xff0c;注意必须要有 break条件&#xff0c;否则就真成死循环了 } 2. fo…

Redis 源码学习记录:集合 (set)

无序集合 Redis 源码版本&#xff1a;Redis-6.0.9&#xff0c;本篇文章无序集合的代码均在 intset.h / intset.c 文件中。 Redis 通常使用字典结构保存用户集合数据&#xff0c;字典键存储集合元素&#xff0c;字典值为空。如果一个集合全是整数&#xff0c;则使用字典国语浪费…

PostgreSQL入门教程

PostgreSQL是一种开源的关系型数据库管理系统&#xff0c;它具有高度的可靠性、可扩展性和性能。下面是一个简单的PostgreSQL入门教程&#xff0c;帮助你开始使用这个强大的数据库管理系统。 步骤1&#xff1a;安装PostgreSQL 首先&#xff0c;你需要下载并安装PostgreSQL。你…