Len和lenB的区别

len()函数返回的是字符的个数

例子:LEN中国)的结果为2

 

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

例子:BLEN中国)的结果为4

注意:ANSI方式下1个英文字符占一个字节,汉字占两个字节;UNICODE方式下汉字英文均占两个字节

UNICODE方式下:

LEN1个英文字符和汉字均占一个字节

LEN21个英文字符和汉字均占两个字节

 

ANSI

LEN1个英文字符占半个字节汉字占一个字节

LEN21个英文字符占1个字节汉字占两个个字节

但是,在我们常用的WINXP/WIN7系统里,LENB对任何一个英文字符或者汉字都返回2LEN对于任何一个英文字符和汉字都返回1,因为这个取决于VB本身以及windows的字符集,而现在二者都是unicode的,所以一直都是这个结果,我们无法找到ansi字符集下来验证lenb的执行结果。

 

当然字节专用的函数判断还有InstrNLeftBRightBMidB等等,这些都是返回字节的,很好用。

 

你可能感兴趣的:(windows,语言,vb)