字节数,字符串长度,字符个数的区别?

 我来答
帐号已注销
2019-02-15 · TA获得超过280个赞
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部

字节数,字符串长度,字符个数区别如下,以编程语言java为例:

1、字节数是变量在内存中占有的空间大小,如int类型占4字节,long类型占8字节等等,并且1字节(byte)=8比特(bit)。

2、字符串长度是你写的内容的长度,如定义String str = “hello”,那么str的字符串长度为5。

3、字符个数就是字符串包含多少个字符,如String str = “hello”,字符有h,e,l,l,o一共5个字符,所以字符个数为5个。

扩展资料:

字符串长度可以通过String自带的length方法求出,如String str = “hello”,它的字符串长度为str.length()。

字符个数在”数值“上与字符串长度相等,但并没有什么实际用途,只是定义上的区分罢了。

疑叶风流
2019-02-26
知道答主
回答量:4
采纳率:0%
帮助的人:641
展开全部

1、在纯ASCII码下,字节数=字符串长度=字符个数,一个英文字母占一个字节的空间,一个中文汉

字占两个字节的空间,一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,

换算为十进制,最小值0,最大值255。

2、在Unicode下,字节数/2=字符串长度=字符个数,一个英文等于两个字节,一个中文(含繁

体)等于两个字节,中文标点占两个字节,英文标点占两个字节,数据库中varchar(200)是指有200

个字节。 

3、在UTF-8编码下,一个英文字符等于一个字节,一个中文(含繁体)等于三个字节,中文标点占

三个字节,英文标点占一个字节。

4、对于varchar类型,这是单字节字符,一个字符占用一个字节,总共能够表示的256个字符;而对

于nvarchar类型,一个字符占用两个字节,能够表示世界上所有的字符集,一个unicode字符占用

两个字节。

5、如果要计算字符串占用的字节数量请使用DataLength函数,该函数统计字节数量时,字符串的

所有字符都会计算在内,包括前导空格和结尾空格。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
notpunk
推荐于2017-09-08 · TA获得超过1628个赞
知道小有建树答主
回答量:339
采纳率:0%
帮助的人:146万
展开全部
在纯ASCII码下,字节数=字符串长度=字符个数,因为每个字符就一个字节。
在Unicode下,字节数/2=字符串长度=字符个数,因为每个字符都是2个字节。
在ASCII码与其它双字节字符系统混用时,字节数=ASCII码字符个数+双字节字符个数*2,而此时字符串长度到底怎么统计就不好说了,有的语言如C语言,此时字符串长度=字节数,有的语言如JS,此时字符产长度=字符个数。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gcnqc00
2011-02-25 · 超过21用户采纳过TA的回答
知道答主
回答量:89
采纳率:0%
帮助的人:20.2万
展开全部
p = "1234";

那么p的字符数就是4,4就是其长度,也可以理解为strlen和wcslen对字符串的返回值。

占用存储字节是该字符串在内存中所占用的存储空间的表示,还是上面那个字符串,其占用存储空间就是5,包括一个空字节,所以其占用字节数为5。因此C风格ASCII字符串的长度和其字符数是不同的,除了C风格字符串(以空字节结尾的字符串),其他ASCII字符串也有长度和占用存储空间相同的情况,比如STL中的string其内存占用空间就和字符长度相同,因为它不是用空字符来标识字符串结尾的。

所以对于ASCII字符串,其长度和所占字节数可能相同。

而对于宽字符wchar_t或unicode,其字符长度肯定和所占字节数不同。

wchar_t s[] = L"1234";

sizeof(s)是10,wcslen(s)是4。

知道了吧,简单点这2个概念也可以理解为sizeof和strlen或wcslen返回的长度。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式