字符编码

本文详细介绍了从ASCII到Unicode再到UTF-8的字符编码发展历程及特点。涵盖了ASCII编码的基础、ISO-8859-1标准、Unicode编码系统及其扩展UCS,最后深入探讨了UTF-8如何高效地表示Unicode字符,特别指出在C语言中如何处理字符串结束符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、ASCII编码(0-127)
2、(128-255):IBM EASCII、ISO-8859-1(Latin-1)
3、Unicode == UCS
编码长度为31位,用4个字节表示,其中:
(0-127)与ASCII编码相同,
(128-255)与ISO-8859-1(Latin-1)相同。
问题:C语言中的编码0表示字符串结束符,所以产生了UTF-8。
4、UTF-8编码

Unicode/UCSUTF-8编码
U-00000000 – U-0000007F0xxxxxxx
U-00000080 – U-000007FF110xxxxx 10xxxxxx
U-00000800 – U-0000FFFF1110xxxx 10xxxxxx 10xxxxxx
U-00010000 – U-001FFFFF11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
U-00200000 – U-03FFFFFF111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
U-04000000 – U-7FFFFFFF1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
UTF-8说明:
(1)第一个字节要么最高位是0(ASCII编码);
(2)第一个字节要么最高两位都是1,最高位之后的1的个数表示后面有多少个字节也属于当前字符编码。

参考文献:
(1)http://learn.akae.cn/media/apas02.html
(2)ASCII
(3)Latin-1
(4)Unicode官网     http://www.unicode.org/
(5)UCS
(6)UTF-8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值