记事本的原罪

编码的原罪

修改记事本的编码为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自带记事本的编码问题相关推荐

  1. win10如何用记事本编程C语言,win10系统笔记本使用记事本编辑和运行html代码的操作技巧...

    有关win10系统笔记本使用记事本编辑和运行html代码的操作方法想必大家有所耳闻.但是能够对win10系统笔记本使用记事本编辑和运行html代码进行实际操作的人却不多.其实解决win10系统笔记本使 ...

  2. win10怎么用记事本编译C语言,win10系统笔记本使用记事本编辑和运行html代码的操作方法...

    win10系统笔记本使用记事本编辑和运行html代码的操作方法? 很多win10用户在使用电脑的时候,会发现win10系统笔记本使用记事本编辑和运行html代码的的现象,根据小编的调查并不是所有的朋友 ...

  3. c语言 vc 记事本设计,c语言程序设计课程设计--记事本.doc

    c语言程序设计课程设计--记事本 PAGE C#语言程序设计课程设计 题 目 记事本 指导老师 专业班级 学 号 姓 名 2012年 摘要:记事本是专为个体用户量身定制的记录数据的平台.记事本,用来记 ...

  4. 哈夫曼带权路径长度C语言,解决关于哈夫曼编码计算带权路径长度问题

    这是在做一道编程提示遇到的,学习了一位博主的编码,其中有些问题未能理解,分析解决掉. 首先什么是哈夫曼树: 哈夫曼树,又称最优二叉树,是一类带权路径长度最短的树. 也就是根节点到节点的中的长度最小,当 ...

  5. win10+vscode部署java开发环境

    目录 Java开发插件配置: 调试: 快捷键: 启动配置文件launch.json: 启动配置说明: Launch: Attach: User Setting: 遇到的问题: 参考: Java开发插件 ...

  6. ESP8266基于WIN10+UBUNTU18.04的开发环境搭建(RTOS 3.2)(比较水)

    ESP8266基于WIN10+UBUNTU18.04的开发环境搭建(RTOS v3.2) 软件基础环境参考 硬件环境参考 软件环境安装的详细内容 软件基础环境参考 WIN10家庭版1803的64位版本 ...

  7. Win10禁用每用户服务的方法(即后缀带数字的服务)

    Win10禁用每用户服务的方法(即后缀带数字的服务) 适用于win10-19042.631版本 一.每用户服务简介 每用户服务,是指后缀带有随机数字的服务,这种服务会在用户登录时随机创建,退出时清除, ...

  8. vs2019+wdk10开发 xp, win7, win10 驱动

    一.安装WDK10 https://docs.microsoft.com/zh-cn/windows-hardware/drivers/download-the-wdk 首先下载wdk10,并安装,安 ...

  9. 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 设置共享文件 宿主 ...

最新文章

  1. TSC打印机编程C#
  2. 针对数据 gnuplot画图 初试
  3. .bash_profile和.bashrc说明
  4. Python基础(三)文件操作和处理json
  5. 【网页设计】基于HTML+CSS+JavaScript制作美食网站舌尖上的美食
  6. Ubuntu生成so共享库的方法
  7. JavaScript的对象、属性与方法
  8. Note(读书笔记)
  9. Linux安装PHP:system libzip must be upgraded to version = 0.11
  10. javafx label设置字体大小_如何把智能手机,设置成老年人模式?
  11. 数据库内外联接查询语句
  12. IE以及其他浏览器主页被劫持到www.2345.com/?kunown的解决办法
  13. 微信小游戏——贪吃蛇
  14. CorelDRAW看了这个实例教程保证上你对海报制作有新的认识
  15. 中兴通讯5G近期出席多个大会,有风范更有担当!
  16. pdf转换器免费注册码
  17. 【git】使用git命令更新最新代码以及将本地代码上传到远程仓库
  18. [译] 在 Google Apps 脚本中使用 ES6 和 npm 模块
  19. 基于 Tensorflow 轻松实现 XOR 运算!| CSDN 博文精选
  20. android 网络语音电话合集 此文为转载备份

热门文章

  1. ubuntu proxy(代理)设置全局
  2. 语音识别声学模型介绍
  3. Matlab 关联文件
  4. opencv实现两个视频拼接显示
  5. 20230406英语学习
  6. 什么是寄存器?(STM32)
  7. 百度语音合成 android,百度语音合成播放
  8. java 接口 抽象类 继承 重载 重写 多态
  9. AFPM100消防设备电源监控系统在国航重庆分公司维修基地项目中的应用-安科瑞华楠
  10. IBM转型认知计算和云平台