Win10自带记事本开发C语言,win10自带记事本的编码问题
记事本的原罪
编码的原罪
修改记事本的编码为UTF-8
放弃记事本
替换方案
为什么会说不要使用win10自带的记事本呢,接下来就说道说道记事本了~
编码的原罪
记事本的默认编码是ANSI,在简体中文Windows操作系统中,ANSI 编码代表 GBK 编码。
使用 1 至 4 个字节来代表一个字符的各种汉字延伸编码方式,称为 ANSI 编码。
然而,在日文Windows操作系统中,ANSI 编码代表 Shift_JIS 编码。 不同 ANSI 编码之间互不兼容。
试想一下,当你的文件上传到GitHub,外国友人使用记事本打开了你的文件,发现是乱码,又要谷歌查原因,其中耗费的成本是极大的。
修改记事本的编码为UTF-8
或许有人会说,记事本多简便啊,随用随关,已经习惯了,不想抛弃。
既然记事本的默认编码是ANSI,为了解决编码的问题,我每次创建文件都另存并修改编码为UTF-8,这总可以吧,这下外国友人可以随心所欲看我的文档了吧,确实,这是一个好方法,对于日常使用已经是可以的了。
那如何修改记事本的编码呢?只需要在另存文件,选择你想要的编码方式即可。
放弃记事本
编码的问题解决了,外国友人也可以看了,那为什么我还是建议放弃使用记事本呢?
原因在于微软的程序员大佬们做的设计太过聪明,每次通过记事本创建UTF-8编码的文件,文件开头都会多出三个字节:1110 1111 1011 1011 1011 1111,也就是0xefbbbf。
对于一般使用而言,几乎不会有影响,但大家都是写代码的,总会遇到读写文件的时候,比如用Java以字节流的形式读取文件,发现打印出来的字节总是在开头多了3个。当你不知道的时候,你就会极度纳闷,只好谷歌、百度才能找到原因,而多出来的3个字节正式记事本的锅。
这就是为什么我不推荐记事本的终极理由,在不知情的情况下,这三个字节足以给你带来很多不必要的烦恼。
替换方案
有什么可以替换记事本,又可以做到轻便而强大的特性呢?答案就是notepad++,一款极简、轻便且广受程序员群体欢迎的文本编辑器。
Win10自带记事本开发C语言,win10自带记事本的编码问题相关推荐
- win10如何用记事本编程C语言,win10系统笔记本使用记事本编辑和运行html代码的操作技巧...
有关win10系统笔记本使用记事本编辑和运行html代码的操作方法想必大家有所耳闻.但是能够对win10系统笔记本使用记事本编辑和运行html代码进行实际操作的人却不多.其实解决win10系统笔记本使 ...
- win10怎么用记事本编译C语言,win10系统笔记本使用记事本编辑和运行html代码的操作方法...
win10系统笔记本使用记事本编辑和运行html代码的操作方法? 很多win10用户在使用电脑的时候,会发现win10系统笔记本使用记事本编辑和运行html代码的的现象,根据小编的调查并不是所有的朋友 ...
- c语言 vc 记事本设计,c语言程序设计课程设计--记事本.doc
c语言程序设计课程设计--记事本 PAGE C#语言程序设计课程设计 题 目 记事本 指导老师 专业班级 学 号 姓 名 2012年 摘要:记事本是专为个体用户量身定制的记录数据的平台.记事本,用来记 ...
- 哈夫曼带权路径长度C语言,解决关于哈夫曼编码计算带权路径长度问题
这是在做一道编程提示遇到的,学习了一位博主的编码,其中有些问题未能理解,分析解决掉. 首先什么是哈夫曼树: 哈夫曼树,又称最优二叉树,是一类带权路径长度最短的树. 也就是根节点到节点的中的长度最小,当 ...
- win10+vscode部署java开发环境
目录 Java开发插件配置: 调试: 快捷键: 启动配置文件launch.json: 启动配置说明: Launch: Attach: User Setting: 遇到的问题: 参考: Java开发插件 ...
- ESP8266基于WIN10+UBUNTU18.04的开发环境搭建(RTOS 3.2)(比较水)
ESP8266基于WIN10+UBUNTU18.04的开发环境搭建(RTOS v3.2) 软件基础环境参考 硬件环境参考 软件环境安装的详细内容 软件基础环境参考 WIN10家庭版1803的64位版本 ...
- Win10禁用每用户服务的方法(即后缀带数字的服务)
Win10禁用每用户服务的方法(即后缀带数字的服务) 适用于win10-19042.631版本 一.每用户服务简介 每用户服务,是指后缀带有随机数字的服务,这种服务会在用户登录时随机创建,退出时清除, ...
- vs2019+wdk10开发 xp, win7, win10 驱动
一.安装WDK10 https://docs.microsoft.com/zh-cn/windows-hardware/drivers/download-the-wdk 首先下载wdk10,并安装,安 ...
- linkbox php,win10 docker-toolsbox 搭建php开发环境的教程
下载镜像 docker pull mysql:5.7 docker pull php:7.2-fpm docker pull nginx docker pull redis:3.2 设置共享文件 宿主 ...
最新文章
- TSC打印机编程C#
- 针对数据 gnuplot画图 初试
- .bash_profile和.bashrc说明
- Python基础(三)文件操作和处理json
- 【网页设计】基于HTML+CSS+JavaScript制作美食网站舌尖上的美食
- Ubuntu生成so共享库的方法
- JavaScript的对象、属性与方法
- Note(读书笔记)
- Linux安装PHP:system libzip must be upgraded to version = 0.11
- javafx label设置字体大小_如何把智能手机,设置成老年人模式?
- 数据库内外联接查询语句
- IE以及其他浏览器主页被劫持到www.2345.com/?kunown的解决办法
- 微信小游戏——贪吃蛇
- CorelDRAW看了这个实例教程保证上你对海报制作有新的认识
- 中兴通讯5G近期出席多个大会,有风范更有担当!
- pdf转换器免费注册码
- 【git】使用git命令更新最新代码以及将本地代码上传到远程仓库
- [译] 在 Google Apps 脚本中使用 ES6 和 npm 模块
- 基于 Tensorflow 轻松实现 XOR 运算!| CSDN 博文精选
- android 网络语音电话合集 此文为转载备份