ascii,unicode,utf-x都是文字和数字的映射, 因为计算机只能存储数字.

ascii

1.早起用8位二进制来编码英文(最前面以为是0,实际只用了7位),既产生了128个元素的ascii码表.
2.但是128个只能表示英文,所以其他国家就决定把字节中最前面一位拿来使用,原来的128个元素,就编程了256个字符,也即是说最高位为1的时候,各个国际自己给后面的位(1xxxxxxx)赋予他们国家的意义.
3.这样还是有两个问题,1)各个国家的标准不一样,比如130 在法语中代表了 é,但是在希伯来语中却代表了字母 Gimel,标准不通用; 2)中文汉字128个显然不够

unicome

1.为了解决ascii编码的不足,世界各国就制定了统一的编码标准,既unicode,编码范围是0x000000到0x10FFFF,共110万个字符,每个字符都有唯一的Unicode编号.
2.unicode本身只规定了每个字符的编号是多少,并没有规定在计算机里如何存储,如何存储是utf-x来决定了.也就是说unicode是一个规范,而utf-x是这个规范的实现

utf-x

utf-x表示了unicode如何在电脑中存储,以为例,的unicode编码是738B

utf-32

以四个字节表示,不足高位补0,所以就在计算机中存储就为0000FEFF0000738BFFFE00008B730000
0000FEFF0000FFFE分别代表的大小端,在读取文件时先读取此大小端的规定

utf-16

1.使用变长字节表示:
1)0x0000~0xFFFF的字符,用两个字节表示
2)0x10000~10FFFF之间的字符,用四个字节表示
2.开头使用FEFF和FFFE来表示大小端

utf-8

1.变长字节表示
1)字节第一位是0的,和ascii编码相同,使用一个字节
2)对于第一位非0的,需要多个字节来表示.假设utf-8使用了n(2=<n<=4)个字节表示字符,第一个字节的前n位都为1,第n+1位都为0,后面的字节一律设为10,将unicode编码字节按顺序填入没有规定的位置即可
3)utf-8 没有大小端

编码范围 二进制
0x00~0x7f(0-127) 0xxxxxxx
0x80~0x7FF(128-2047) 110xxxxx 10xxxxxx

0x800~0xFFFF(2048-65535)1110xxxx 10xxxxxx 10xxxxxx
0x10000~0x10FFFF(65535以上)|1110xxx 10xxxxxx 10xxxxxx 10xxxxxx

的各个编码

编码类别 结果
Unicode编码 738B
UTF8编码 E78E8B
UTF16BE编码 FEFF738B
UTF16LE编码 FFFE8B73
UTF32BE编码 0000FEFF0000738B
UTF32LE编码 FFFE00008B730000

参考:
https://blog.csdn.net/hongsong673150343/article/details/88584753
https://www.qqxiuzi.cn/bianma/Unicode-UTF.php

编程通用知识 字符编码(ascii,unicode,utf-8)相关推荐

  1. 字符编码 ASCII,Unicode和UTF-8的关系

    转自:http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143166410626 ...

  2. 字符编码:ASCII,Unicode(UTF-8)

    1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte). ...

  3. 字符编码ASCII、Unicode 、UTF-8 及实例汉字与Unicode码的相互转化

    字符编码ASCII.Unicode .UTF-8 及实例汉字与Unicode码的相互转化 ASCII 码 我们知道,计算机内部,所有信息最终都是一个二进制值.每一个二进制位(bit)有0和1两种状态, ...

  4. Computer:字符编码(ASCII编码/GBK编码/BASE64编码/UTF-8编码)的简介、案例应用(python中的编码格式及常见编码问题详解)之详细攻略

    Computer:字符编码(ASCII编码/GBK编码/BASE64编码/UTF-8编码)的简介.案例应用(python中的编码格式及常见编码问题详解)之详细攻略 目录 符串编码(ASCII编码/GB ...

  5. 计算机字符编码——ASCII码和常用编码

    计算机字符编码--ASCII码和常用编码 ASCII码 基本介绍 上个世纪60年代, 美国制定了一套字符编码, 对英语字符与二进制位之间的关系, 做了统一规定,这被称为ASCII码. ASCII码一共 ...

  6. 记事本字符编码没有Unicode选项

    记事本字符编码没有Unicode选项 Windows 10更新1903版本后,记事本的几种编码模式改了名称: 旧版的"Unicode"相当于新版的"UTF-16 LE&q ...

  7. 字符编码ASCII、ANSI、DBCS、MBCS、GB2312、GBK、GB18030、UTF-8、UTF-16、Unicode、emoji

    字符必须编码后才能被计算机处理.计算机使用的缺省编码方式就是计算机的内码. 内码是指操作系统内部的字符编码.早期操作系统的内码是与语言相关的.现在的Windows在系统内部支持Unicode,然后用代 ...

  8. 深入理解-字符编码ASCII,GB2312,GBK,Unicode,UTF-8

    字符编码 简介 起初再考虑写不写这篇文章,感觉这篇文章比较枯燥乏味,而且自己感觉也没理解的太透彻,就把理解的记录下来,所以这是纪念版的 前方高能,非战斗人员请迅速撤离,我要开始装逼了. Go hard ...

  9. 前端需要搞懂的字符编码ASCII、Unicode、UTF8、UTF16等

    字符集和字符编码 字符集就是字符的集合,如常见的 ASCII字符集,GB2312字符集,Unicode字符集等.这些不同字符集之间最大的区别是所包含的字符数量的不同. 字符编码则代表字符集的实际编码规 ...

最新文章

  1. Σ-delta ADC是否可以测量热噪声?
  2. oracle v$access执行很慢,Oracle bug之v$access
  3. Keepalived 使用指南
  4. 作业19——夜间模式的开启与关闭,父模板的制作
  5. java B2B2C Springcloud电子商城系统-Spring Cloud常见问题与总结(四)
  6. 定位20万个星系只需10秒!这款AI神器带你撩开宇宙面纱
  7. 大学学python用记笔记吗_学 Python 作笔记,怎么能不用 Jupyter
  8. static关键字_乐字节Java|this关键字、static关键字、block块
  9. java累加求和_Java lambda 循环累加求和代码
  10. js将一篇文章中多个连续的br标签替换成两个连续的br标签
  11. ftp服务器软件 性能对比,常用ftp服务器软件介绍
  12. OSChina 周一乱弹 —— 原来我的名字还有这么美的一个故事
  13. C语言回车符号和换行符
  14. left join和left outer join 有什么区别?这样解释通俗易懂
  15. 十一、总结一下今天在SpringAOP中遇到的一个坑,事务控制一直失败,自己感觉代码没错的感觉,往底层看,很明了了
  16. 线程池:4个方法,7个参数,4种拒绝策略
  17. 网络工程师从入门到精通(学习总目录——持续更新)
  18. 到底什么样的企业才适合实施SAP系统?
  19. origin是曲线图层在坐标轴上面
  20. Gen2-UHF-RFID-Reader学习(六)reader

热门文章

  1. android代码重启设备,Android设备重启(reboot)---Android studio
  2. php 向ldap请求文件,绑定 LDAP 目录 - PHP 7 中文文档
  3. Java计算1除以3结果为0_关于java:Int division:为什么1/3 == 0的结果?
  4. 《玩转Python轻松过二级》配套视频免费观看地址
  5. Python求解进制问题(阿里巴巴2015笔试题)
  6. mybatis 自定义转换规则_Mybatis使用小技巧-自定义类型转换器
  7. 关于C++中的pow()函数
  8. 96.不同的二叉搜索树(JavaScript)
  9. 高职计算机期末质量分析,利用SPASS进行计算机基础考试试卷质量分析
  10. php考过来运行后报乱码,PHP接收GET中文参数乱码怎么办