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

发布网友 发布时间:2022-04-23 02:49

我来回答

2个回答

热心网友 时间:2022-04-01 09:38

注意:在我们常用的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-04-01 10:56

注意 LenB 函数作用于字符串中的字节数据,如同在双字节字符集(DBCS)语言中一样。所以 LenB 返回的是用... 如为用户自定义类型,LenB 返回在内存中的大小,包括元素之间的衬垫。对于使用 LenB的示例代码,请参阅示...

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com