ASCII是国际通用的字符集。

字符集

计算机之间通信最终要转化为二进制的机器码进行通信,但是我们通常不可能使用机器码,也同样很难读懂机器码。如果我们要输入一个字符a,我们需要将字符a转化为一个二进制码,再进行通信。而字符集,把所有的我们可能用到的字符定义为指定二进制进行编排

ASCII码

ASCII码就是我们最常用的一套字符集规范
百度百科


一个字符通常由8个比特(bit),也就是1个字节(byte)来表示。一个byte最大可以表示255。我们可以看到ASCII通过0~127描述常用的符号和大小写英文。
输入一个字符E,E的十进制表示位69,那么转化成二进制码就是0100 0101(编码),计算机识别后再对应显示出来E(解码)。
那么,中文该如何表示?

Unicode(万国码、统一码)

由于ASCII不能表示除英文外的其他字符,比如中文、拉丁文,因此世界推出了Unicode码,包含世界上所有文字和符号的编码。
Unicode码是用16进制表示的,有很多方案。eg:utf-8、utf-16、ISO10646。这些编码方案都只用了少量的Unicode平面(可以理解为内容),不同编码方案有他们独特的特点。
比如utf-8:

  • 字节为单位对Unicode进行编码
  • 对不同范围的字符使用不同长度的编码
  • UTF-8编码的最大长度是4个字节。4字节模板有21个x,即可以容纳21位二进制数字。Unicode的最大码位0x10FFFF也只有21位。
  • UTF-8编码方案前128的表示跟ASCII相同

思考

之前一直有个疑问,为什么我们的html页面、jsp页面…或者springboot连接数据库等应用之间通信,都需要指定字符编码。原来是因为不同的应用可能采用的不同的Unicode编码方案,而这些不同的编码方案对于字符的编码格式很有可能不同,以至于计算机在识别的时候出现格式混乱,而打印出不同的字符,造成乱码

结语

莫要 书山有路勤为径,学海无涯苦作舟
而应 日积月累,乐在其中

希望能帮助到您

字符集、ASCII、Unicode相关推荐

  1. 常用字符集(ASCII,ISO8859-1,GB2312,GBK,Unicode)和字符编码(UTF-8,UTF-16)

    转自:https://blog.csdn.net/wn084/article/details/80363792 参考:https://blog.csdn.net/halchan/article/det ...

  2. 宽字符集(unicode)说明以及转换函数

    宽字符集(unicode)说明以及转换函数 1.为什么要使用Unicode? (1) 可以很容易地在不同语言之间进行数据交换. (2) 使你能够分配支持所有语言的单个二进制.exe文件或DLL文件. ...

  3. ASCII,unicode, utf8 ,big5 ,gb2312,gbk,gb18030等几种常用编码区别

    ASCII,unicode, utf8 ,big5 ,gb2312,gbk,gb18030等几种常用编码区别 最近老为编码问题而烦燥,下定决心一定要将其弄明白!本文主要总 结网上一些朋友提供的 asc ...

  4. 关于字符编码,你所需要知道的(ASCII,Unicode,Utf-8,GB2312…)

    字符编码的问题看似很小,经常被技术人员忽视,但是很容易导致一些莫名其妙的问题.这里总结了一下字符编码的一些普及性的知识,希望对大家有所帮助. 还是得从ASCII码说起 说到字符编码,不得不说ASCII ...

  5. 字符集和编码规范:ASCII,Unicode和UTF-8, latin1,BIG5,GBK

    字符集和编码方式:ASCII,Unicode和UTF-8, latin1,BIG5,GBK 参考: 字符集 字符集编码详解 一. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制 ...

  6. 字符编码看不懂你来打我!(ASCII,Unicode,Utf-8,GB2312…)

    这篇文章估计有些年头了,但作者确实将字符编码的发展历程介绍的很到位,偶然看到,突然觉得"相逢恨晚",故转载--,也当做自己的收藏吧. 字符编码的问题看似很小,经常被技术人员忽视,但 ...

  7. UTF-8, ASCII, Unicode的介绍与区分

    文章出自个人博客https://knightyun.github.io/2019/01/27/ascii-unicode,转载请申明 背景 人类能通过肉眼识别文字和字符,并能通过知识了解他们的含义,但 ...

  8. String+char+byte+ascii+unicode

    众所周知,计算机底层的数据都是0和1. 那么我们在输入数字的时候,要交给计算机处理,首先要转化成计算机能识别的0和1的形式.那么文字是怎么样转化成0和1的呢? 通过字符集.常用的字符集是ASCII,每 ...

  9. ANSI,ASCII,Unicode的区别与联系

    为什么80%的码农都做不了架构师?>>>    ANSI,ASCII,Unicode的区别与联系 http://wenku.baidu.com/view/01d596e3524de5 ...

  10. 编程通用知识 字符编码(ascii,unicode,utf-8)

    ascii,unicode,utf-x都是文字和数字的映射, 因为计算机只能存储数字. ascii 1.早起用8位二进制来编码英文(最前面以为是0,实际只用了7位),既产生了128个元素的ascii码 ...

最新文章

  1. 利用JS使用POST方式提交请求的方法
  2. 资源 | 机器学习、NLP、Python和Math最好的150余个教程(建议收藏)
  3. Android Studio找不到org.apache.http中的类
  4. 深度学习和目标检测系列教程 1-300:什么是对象检测和常见的8 种基础目标检测算法
  5. java list 自定义类型转换_使用Java Stream API将List按自定义分组规则转换成Map的一个例子...
  6. 2015年C语言组混搭 C/C++
  7. 无法远程连接SQLSERVER2000的解决方法
  8. 部署VC2008应用程序
  9. 各种多媒体软件安装教程
  10. Scala中名词的解释
  11. 移动广告平台盈利模式
  12. Vue之assets图片加载不出来
  13. ubuntu下搭建不同端口网站
  14. mysql 页分裂_InnoDB中的页合并与分裂
  15. Android面试,给正在找工作的安卓攻城师们 ... ...
  16. docker — volumes、MySQL数据库持久化
  17. 安装工程管道的规格及高程表示方法
  18. MySQL连接查询练习
  19. 上海有哪些值得加入的互联网公司?
  20. 记录介入阿里百川的坑

热门文章

  1. vue 报错:WebSocket connection to ‘ws://192.168.51.116:3000/ws‘ failed:
  2. 免费的在线白板协作工具有哪些?
  3. ma5822是什么设备_华为MA5821-24 - AC远端光接入ONU光纤设备24口 全新原装
  4. “DOTA“巨魔战将连续晕眩的概率
  5. python数据采集培训
  6. (动归三剑客)打家劫舍 (动归三剑客)
  7. 集中式版本控制器和分布式版本控制器的个人理解
  8. Zepeto正加速摆脱“捏脸”应用的传统印象,成为亚洲最大虚拟世界平台
  9. SQLSERVER时间转换成字符串,去掉中划线
  10. 如何将word转换成excel格式