首页 > 编程知识 正文

utf8完整编码表,utf-8编码解码

时间:2023-05-06 12:00:59 阅读:22731 作者:1239

1.ASCII编码

因为计算机只能处理数字,所以要处理文本,必须先将文本转换为数字再处理。 第一台计算机采用8位作为1字节(字节)进行设计。 因此,一个字节可以表示的最大整数是255 )二进制11111111=二进制255 )。 要表达更大的整数,必须使用更多的字节。 例如,2字节可表示的最大整数为65535,4,4字节可表示的最大整数为4294967295。

最初,只有127个字符被编码到计算机中。 也就是大小写、数字和符号。 此编码表称为ASCII编码

2.Unicode编码

但是,处理中文显然一个字节是不够的,至少需要两个字节,不能与ASCII码冲突。 为此,中国制定了GB2312代码以纳入中文。 可以想到的是,世界上有数百种语言。 在日本,Shift_JIS嵌入了日语,在韩国,Euc-kr嵌入了韩语。 各国有各国标准,冲突就不可避免。 其结果是,在多语言混合的文本中会发生乱码。

因此,Unicode应运而生。 Unicode将所有语言统一为一个代码,从而消除乱码问题。 现代操作系统和大多数编程语言都直接支持Unicode。

3.ASCII编码和Unicode编码的区别

ASCII编码是1字节,而Unicode编码通常是2字节。

字母' a '为ASCII,为十进制65,二进制01000001;

字符'0'在ASCII代码中为十进制48,二进制00110000。 请注意,字符'0'和整数0不同。

汉字“中”已超出ASCII码的范围,在Unicode码中为十进制20013,二进制01001110 00101101。

可以推测,如果用Unicode对ASCII码的' a '进行编码,只需在前面加0即可。 因此,' a '的Unicode代码为0000000100001。

发生了新的问题。 统一成Unicode代码后,乱码问题就消失了。 但是,如果你写的文本基本上都是英语,那么用Unicode编码需要比用ASCII编码多两倍的存储空间,存储和传输成本并不高。

4. UTF-8编码

因此,本着节约的精神,出现了将Unicode代码转换为“可变长度代码”的UTF-8代码。 UTF-8编码将单个Unicode字符编码为1到6字节,具体取决于数字的大小。 常用的英文字符编码为1字节,汉字通常为3字节,只有很少的字符编码为4到6字节。 如果要传输的文本包含大量英语字符,则使用UTF-8编码可以节省空间。

文字asciiunicodeutf-8a 010000100000010000000000000001000000001001001100100100101是ascii、unicode和utf-8的函数

在计算机内存中统一使用Unicode编码,如果需要存储在硬盘上或需要传输,将其转换为UTF-8编码。

在记事本中编辑时,从文件读取的UTF-8字符将转换为Unicode字符并保存在内存中。 编辑完成后,保存时将Unicode转换为UTF-8并保存到文件中。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。