字符串、字符和字节

三者关系:

字符串是由一个个字符组成的,每个字符又由一个或多个字节来表示,每个字节又由8个bit位来表示。

字符:计算机中使用的文字和符号,比如1、2、A、B、%等等。

字节(Byte):一种计量单位,表示数据量多少,它是计算机信息技术用于计量存储容量的一种计量单位。

不同编码里,字符和字节的对应关系不同:

①ASCII码中,一个英文字母占一个字节的空间,一个中文汉字占两个字节的空间。
②UTF-8编码中,一个英文字符等于一个字节,一个中文等于三个字节。
③Unicode编码中,一个英文等于两个字节,一个中文等于两个字节。

符号:英文标点占一个字节,中文标点占两个字节。举例:英文句号“.”占1个字节的大小,中文句号“。”占2个字节的大小。

④UTF-16编码中,一个英文字母字符或一个汉字字符存储都需要2个字节(Unicode扩展区的一些汉字存储需要4个字节)。
⑤UTF-32编码中,世界上任何字符的存储都需要4个字节。

字符串相关函数

头文件string.h包含了使用字符串函数所需的原型和声明

字符串长度:它所包含的字符个数。NUL字节是字符串的终止符,但它本身并不是字符串的一部分,所以字符串的长度并不包含NUL字节。

库函数strlen的原型如下:

size_t strlen(char const *string);   //注意strlen返回一个类型为size_t的值。这个类型是在头文件stddef.h中定义的,它是一个无符号整数类型。

在表达式中使用无符号数可能导致不可预料的结果。例如,

if (strlen(x)>=strlen(y))
if (strlen(x)-strlen(y
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值