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

2024-11-30 11:41:30
推荐回答(4个)
回答1:

字节数,字符串长度,字符个数区别如下,以编程语言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()。

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

回答2:

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

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

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

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

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

个字节。 

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

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

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

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

两个字节。

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

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

回答3:

在纯ASCII码下,字节数=字符串长度=字符个数,因为每个字符就一个字节。
在Unicode下,字节数/2=字符串长度=字符个数,因为每个字符都是2个字节。
在ASCII码与其它双字节字符系统混用时,字节数=ASCII码字符个数+双字节字符个数*2,而此时字符串长度到底怎么统计就不好说了,有的语言如C语言,此时字符串长度=字节数,有的语言如JS,此时字符产长度=字符个数。

回答4:

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返回的长度。