VB初学者提问:VB中的LEN与LENB函数问题

发布网友 发布时间:2022-03-25 23:39

我来回答

3个回答

懂视网 时间:2022-03-26 04:00

len和lenb函数的区别是:

  

  1、Excel中lenb函数是返回字符的字节数的函数。len函数返回文本字符串中的字符数。

  

  2、LEN(A2),返回6,不论中英文字符,均按1计数。

  

  3、LENB(A2),返回8,LENB函数按这样的规则计数:汉字、全角状态下的标点符号,每个字符按2计数,数字和半角状态下的标点符号按1计数。

  

  

热心网友 时间:2022-03-26 01:08

注意:在我们常用的WINXP/WIN7系统里,LENB对任何一个英文字符或者汉字都返回2;LEN对于任何一个英文字符和汉字都返回1
比如:
LEN("A")=1 LEN("啊")=1
lenB("a")=2 lenb("啊") = 2
因为VB默认是用unicode的,VB这么做我个人觉得是没用的,不过VB里这样的没用的函数还有很多,windows现在都是unicode编码了(内核)所以我们无法找到ansi字符集下来验证lenb的执行结果。

所以总结一下,现在,在VB里,在XP/WIN7下,lenb的长度永远是len长度的2倍,不管是中文还是英文,因为这个取决于VB本身以及windows的字符集,而现在二者都是unicode的,所以一直都是这个结果

由于VB采用UniCode编码,不管中西文,都占2字节
?lenb( "啊a")
4

想把中文字符当成2字节,西文字符1字节,得先用StrConv转换
?lenb(strconv( "啊a",&H80))
3

热心网友 时间:2022-03-26 02:26

注意 LenB 函数作用于字符串中的字节数据,如同在双字节字符集(DBCS)语言中一样。所以 LenB 返回的是用... 如为用户自定义类型,LenB 返回在内存中的大小,包括元素之间的衬垫。对于使用 LenB的示例代码,请参阅示...
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com