unicode和ascii有哪些区别

胡贝肯
胡贝肯 原创
2023-09-06 11:56:26 853浏览

unicode和ascii的区别包括编码范围不同、存储空间不同和兼容性不同等。详细介绍:1、编码范围不同,ascii的编码范围是0-127,主要用于表示英语字母,而unicode的编码范围广阔得多,可以表示几乎所有的语言字符;2、存储空间不同,ascii通常使用1个字节来存储一个字符,而unicode可能使用2个或更多的字节来存储一个字符;3、兼容性不同等等。

本教程操作系统:windows10系统、DELL G3电脑。

一、Unicode是什么

Unicode是一种字符编码标准,其目标是给全世界每一个字符都设定一个少数的编码。它可以容纳包括英文字母、中文字符、日文字符、韩文字符、阿拉伯数字等在内的几乎所有语言的字符。

二、ASCII是什么

ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是一种基于英文字符的字符编码。它使用7位来表示一个字符,总共可以表示128个不同的字符,包括大小写英文字母、阿拉伯数字、标点符号以及一些控制字符。

三、Unicode和ASCII的区别

unicode和ascii的区别主要体现在:1、编码范围不同;2、存储空间不同;3、兼容性不同。总的来说,unicode比ascii包含更多的字符,可以表示更多的语言。

1、编码范围不同

ASCII的编码范围是0-127,主要用于表示英语字母;而Unicode的编码范围广阔得多,可以表示几乎所有的语言字符。

2、存储空间不同

ASCII编码通常使用1个字节来存储一个字符,而Unicode编码可能使用2个或更多的字节来存储一个字符。

3、兼容性不同

ASCII编码是Unicode编码的一部分,也就是说,所有的ASCII字符在Unicode编码中都有对应的编码。这也意味着ASCII编码的文本可以直接转换为Unicode编码,而不会丢失任何信息。

四、UTF8

  • 所以,本着节约的精神,又出现了把Unicode编码转化为“可变长编码”的UTF-8编码。
  • UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。如果你要传输的文本包含大量英文字符,用UTF-8编码就能节省空间。
字符ASCIIUnicodeUTF-8
A0100000100000000 0100000101000001
中文x01001110 0010110101001110 00101101
  • 从上面的表格还可以发现,UTF-8编码有一个额外的好处,就是ASCII编码实际上可以被看成是UTF-8编码的一部分,所以,大量只支持ASCII编码的历史遗留软件可以在UTF-8编码下继续工作。

五、计算机中通用的字符编码的工作方式

  • 在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
  • 用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件:

  • 1.png

  • 浏览网页的时候,服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器:

  • 2.png

以上就是unicode和ascii有哪些区别的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。