字符和编码

1、概述

1.1大体目的

  • 了解编码集的发展
  • 中文编码集
  • 经常使用编码

2、ASCII码

2.1ASCII码

  1. ASCII码使用7bit二进制数来表示,因此共2^7=128个编码。
  2. ASCII包含95个可打印的字符和33个不可打印字符(包括控制字符) (128 = 33 + 95)

图片描述

记住一些经常使用的ASCII码的10进制数字是颇有必要的,好比说A是65,a是97,0是48。同一个字母,大写字母比小写字母小32。编程

2.2ASCII码的拓展

随着计算机技术的发展,ASCII码逐渐知足不了人们的需求了,主要包括以下几点:测试

  • 不少应用或者国家中的符号都没法表示
  • 数学字符:“➗、≠、≥、≈”等等一些数学字符没法表示。

因此ASCII码就被扩充了。扩充后的是增长了一位的,也就是从原来的7位变为8位,扩充后的编码叫作 Extend ASCII码。
拓展的ASCII码增长了一些英标、希腊符号、欧洲字符、表格符、其余经常使用符等一些字符。网站

3、我国字符编码集的国际化

事实上,不少国家的语言是有限字符构成的,然而我国文化博大精深,中文则是不以有限字符组合的语言。因此字符编码集的国际化就颇有必要。编码

3.1 GB2312

国标2312是我国最先的比较完毕的一个编码集,全称叫:信息交换用汉字编码字符集,包括7前多个字符。spa

3.2 GBK

因为GB2312的规范性不被国家承认,因此我国又发命了GBK(国标扩)这种编码集,全称叫:汉字内码扩展规范。
它向下兼容GB2312,向上支持国际ISO标准。收录了2.1万多个汉字,并支持所有中日韩汉字。操作系统

4、Unicode

咱们须要一种全世界通用的字符编码,举个例子,好比美国的tom要访问中国的一个网站,若tom的电脑上没有安装GBK这种支持中文的编码集,则他看到的中文网站将是一片乱码。因此咱们不只要有一个本地化的编码,还学要一个全球化的编码集。code

Unicode :统一码、万国码、单一码,支持世界上全部国家的语言编码,定义了世界通用的符号集,UTF-*实现了编码。
好比说咱们日常使用的UTF-8是以字节为单位对Unicode进行编码。图片

5、拓展

平时编程时,建议使用Unicode字符集, 建议使用UTF-8
②中国的Windows系统是默认使用GBK编码方式的。因此在平时设置IDE的时候咱们也要注意下。
③字符集在记事本上的更改: 记事本默认的存储编码是ANSI。
在简体中文系统下,ANSI 编码表明GB2312 编码,在日文操做系统下,ANSI 编码表明JIS 编码。
咱们在桌面新建一个测试记事本,并输入如下内容文档

图片描述

点击另存为,能够看到,下方有个编码的选项,默认选择ANSI就是GBK编码。数学

图片描述
咱们对保存后的文本文档,点击右键选择打开方式,咱们换成另外一个文本文档软件,在此使用sublime打开,咱们发现:

图片描述
咱们发现中文字符所有乱码,这是因为GBK的中文编码和UTF-8的中文编码不一致形成的,这也是为何咱们平时在IDE上打中文注释移到记事本乱码的缘由。
咱们在换过来讲明下,下面是将sublime中的中文文档转至记事本的状况:

图片描述

咱们点击另存为保存后,使用TXT打开:

图片描述发现此时text的编码是UTF-8的。实时上我可使用记事本任意切换UTF和GBK这两种编码方式,当咱们遇到GBK和UTF编码的乱码,而且是由于这两种格式的中文编码不一样致使时,咱们不妨使用上面这种方法,让中文编码变成正常的形式。

相关文章
相关标签/搜索