在纯ascii码中,字节数就是字符串长度的字符数,因为每个字符都有一个段。
在unicode下,字符串长度的字节数/2字符数,因为每个字符是2字节。
当ascii码与其他双字节字符系统混合时,字节数,ascii码的字符数和双字节字符数*2,
这时候就不好说怎么统计字符串长度了。
[在某些语言中,如c,字符串长度以字节为单位。]
在某些语言中,比如js,字符产生字符数。
一个英文字符(ascii码)在gbk编码下占用1个字节,一个中文字符在utf-8编码下占用2个字节,一个中文字符通常占用3个字节,一些生僻字可能占用4个字节。utf-8是unicod
这个功能基本上是每一个需求都提供的,但是用法基本是一样的。让让我们简单谈谈js中的定义和用法。
substr()方法可以从字符串的起始下标中提取指定数量的字符。
语法
(开始,长度)参数描述
需要开始。要提取的子字符串的起始下标。必须是数值。如果为负,此参数声明从字符串末尾开始的位置。换句话说,-1表示字符串中的最后一个字符,-2表示倒数第二个字符,依此类推。
长度是可选的。子字符串中的字符数。必须是数值。如果省略此参数,则返回从stringobject的开始位置到结尾的字符串。
返回值
包含从stringobject的开头开始的长度字符的新字符串(包括由开头指向的字符)。如果未指定length,则返回的字符串包含从stringobject开头到结尾的字符。
提示和评论
注意:substr()的参数指定了子串的起始位置和长度,所以可以用来代替substring()和slic
length属性存储数组中元素的数量。
javascript不同于其他语言,数组的length属性就是一个例子。
一个数组对象只有一个属性,这个属性就是length,代表数组的长度,也就是数组中元素的个数。因为数组的索引总是从0开始,所以数组的上限和下限分别是0和长度-1。与大多数其他语言不同,javascript数组的长度属性是可变的,这需要特别注意。当length属性设置得较大时,整个数组的状态实际上不会改变,只是length属性变大了;当length属性设置为小于原始值时,原始数组中索引大于或等于length的元素的所有值都将丢失。