其他分享
首页 > 其他分享> > 文字编码

文字编码

作者:互联网

ascii

ascii使用一个字节表示,使用7个bit位,可以表示128个字符,最高位使用0.

eg:
01111111
00010100
01010100

ascii仅仅能表示128个字符,因此后来又提出了unicode编码。

unicode

unicode编码使用三个字节表示,这张表中包含了所有的字符,理论上可以表示2的24次方个字符。
但是unicode编码也是有问题的,我们通常使用的都是ascii包含的128个字符,但是使用unicode编码,却使用三个字节,这大大浪费了存储空间。

utf-8

utf-8是可变编码,可以使用一到六个字节表示,为了区别于ascii,表示为:

U-00000000 – U-0000007F: 0xxxxxxx
U-00000080 – U-000007FF: 110xxxxx 10xxxxxx
U-00000800 – U-0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx
U-00010000 – U-001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
U-00200000 – U-03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
U-04000000 – U-7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

计算机内部的编码方式

计算机硬盘上通常使用uft-8编码来保存数据,但是当加载到内存上时,便会将utf-8编码转换为unicode编码存储在内存中,在内存内便是unicode编码。
比如当我们打开一个文件时,操作系统封将文件的内容加载到内存中,将在硬盘中的utf-8编码转换成unicode编码,当我我们编辑完成时,操作系统再将内容写入硬盘,将unicode转换成utf-8编码(在硬盘上位utf-8是因为节省空间,在内存中为unicode是因为每个字符都是三个字节处理)。

标签:文字,编码,utf,字节,10xxxxxx,unicode,ascii
来源: https://blog.csdn.net/qq_40148538/article/details/98940998