编码相关--unicode、UTF-8、UTF-16、UTF-32、GBK、ANSI

ANSI是什么?是编码吗?
https://blog.csdn.net/imxiangzi/article/details/77370160
unicode与UTF-8
http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html?utm_source=coffeephp.com

什么时候会发生乱码?
1、内存中固定使用unicode无论输入任何字符都不会发生乱码
2、我们能够修改的是存/取硬盘的编码方式,如果编码设置不正确将会出现乱码问题。乱码问题分为两种:存乱了,读乱了
2.1 存乱了:如果用户输入的内容中包含中文和日文字符,如果单纯以shift_JIS存,日文可以正常写入硬盘,而由于中文字符在shift_jis中没有找到对应关系而导致存乱了
2.2 读乱了:如果硬盘中的数据是shift_JIS格式存储的,采GBK格式读入内存就读乱了

结论:

  1. 保证存的时候不乱:在由内存写入硬盘时,必须将编码格式设置为支持所输入字符的编码格式
  2. 保证存的时候不乱:在由硬盘读入内存时,必须采用与写入硬盘时相同的编码格式
原文地址:https://www.cnblogs.com/21summer/p/14789458.html