关于VB中的lenB函数

在立即窗口中输入print lenB ("BASIC程序设计"),结果显示的是18,但是书上说的结果应该是13,VB早期版本一个中文不是相当于2个英文字符吗,为什么结果显示的是18而不是13?
谢谢!

len()函数返回的是字符的“个数”
LenB 函数作用于字符串中的“字节数据”,如同在双字节字符集(DBCS)语言中一样。所以 LenB 返回的是用于代表字符串的字节数,而不是返回字符串中字符的数量。如为用户自定义类型,LenB 返回在内存中的大小,包括元素之间的衬垫。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-26
LenB 函数将字符串当作一组字节而不是一组字符。当字符串代表二进制数据时应当使用此函数。如果需要返回字符总数而非字节总数,可使用 Len 函数。
语法:
result = LenB( 字符串 )
result = 字符串变量.LenB( )。
参数:
字符串
String 数据类型
任意合法的字符串表达式。
返回值
结果:
Integer 数据类型
字符串的字节总数。
说明:
LenB 函数将字符串当作一组字节而不是一组字符。当字符串代表二进制数据时应当使用此函数。如果需要返回字符总数而非字节总数,可使用 Len 函数。
范例:
本例使用Len 函数返回字符串的总字符数。
Dim n As Integer
n=LenB("Hello world")
print n ‘返回22,VB使用unicode,所以因为也是2字节。
第2个回答  2008-08-21
网上有一句话:“VB自从32位版本以后,不管中英文字,均以2 bytes来储存,这与中文Win95的汉字内核有关”
LenB就是LenByte 获得Byte长度 不是字的数量
所以……貌似什么都是2Byte……
我也不知道……书上可能是错误的
第3个回答  2008-08-21
LenB 返回的是用于代表字符串的字节数,而不是返回字符串中字符的数量。如为用户自定义类型,LenB 返回在内存中的大小,包括元素之间的衬垫。

参考资料:MSDN

第4个回答  2008-08-21
呵呵。如果是 Unicond,每个字符都是 2 个字节,AscII 的话只有汉字是 2 个字节,从 VB6 就支持 Uniconde 了,9 个字正好 18 个字节!

关于VB中的lenB函数
LenB 函数作用于字符串中的“字节数据”,如同在双字节字符集(DBCS)语言中一样。所以 LenB 返回的是用于代表字符串的字节数,而不是返回字符串中字符的数量。如为用户自定义类型,LenB 返回在内存中的大小,包括元素之间的衬垫。

VB中len和lenb有何不同
工作表中LENB函数表示的是字符所占的字节数。如果为双字节字符,比如中文占用两个字节。则LENB返回2,英文占用1个字节。VBA中的LENB函数则不同,由于VBA中有各种变量类型,当用LENB计算时,实际返回的是该类型变量所占用的字节数。比如下面例子:Sub MyLenB()Dim MyStr1#, MyStr2&, MyStr3 MyStr1...

lenb公式是什么意思?
lenb的全称是length in bytes,中文翻译为“长度(以字节为单位)”。而lenb公式特指计算一个字符串变量的长度,其中一个中文汉字通常占用两个字节。所以,lenb公式是计算字符串长度的方法之一,它对于需要计算中文字符数量的程序非常有用。在VB、VBA等编程语言中,lenb公式常被用来计算字符串长度。比如,...

vb6.0中VarPtr(), LenB()这两个函数是什么意思哦???
LenB(str):获取字符串str的长度(ANSI编码).如:LenB("str长")=5

在VB中用lenb()函数求字符"a"的字节长,为什么会是2个字节?
lenb返回的是占用空间的大小,具体的值是多少得看a是什么类型 不好意思,看错题目了 LenB 函数作用于字符串中的字节数据,如同在双字节字符集(DBCS)语言中一样。所以 LenB 返回的是用于代表字符串的字节数,而不是返回字符串中字符的数量。如为用户自定义类型,LenB 返回在内存中的大小 楼上,人家是...

lenb函数有什么作用?
说明 LenB 函数将字符串当作一组字节而不是一组字符。当字符串代表二进制数据时应当使用此函数。如果需要返回字符总数而非字节总数,可使用 Len 函数。范例 本例使用Len 函数返回字符串的总字符数。Dim n As Integer n=LenB("Hello world")print n '返回22,VB使用unicode,所以因为也是2字节 ...

VB初学者提问:VB中的LEN与LENB函数问题
LEN("A")=1 LEN("啊")=1 lenB("a")=2 lenb("啊") = 2 因为VB默认是用unicode的,VB这么做我个人觉得是没用的,不过VB里这样的没用的函数还有很多,windows现在都是unicode编码了(内核)所以我们无法找到ansi字符集下来验证lenb的执行结果。所以总结一下,现在,在VB里,在XP\/WIN7下,lenb...

急求答案:vb中函数len("myname=温暖")=9而lenb("myname=温暖")=18...
就是字符数与byte数呀。一个unicode字符两字节,九个就是18byte了 所以:len(...)=9 lenb(...)=18

关于VB里面STRCONV函数中lenb和len的问题
Len返回的是字符的数目,无论全角还是半角,都算一个字符。LenB返回的是字符所占字节的数目,全角算2个,半角算一个。至于vbfromunicode和vbunicode顺序,那是因为所用字符编码格式不同。

vb 字符串求长度
1、VB中,用函数Len(B)就可以求出字符串a$的长度。2、在VB中,一个字母、数字或汉字的长度均为1。比如:B="放假13天",则运用函数Len(B)后的值为5,字符串长度就是5。

相似回答