Len和lenB的区别
len()函數(shù)返回的是字符的“個(gè)數(shù)”
例子:LEN(“中國”)的結(jié)果為2
?
LenB 函數(shù)作用于字符串中的“字節(jié)數(shù)據(jù)”,如同在雙字節(jié)字符集(DBCS)語言中一樣。所以 LenB 返回的是用于代表字符串的字節(jié)數(shù),而不是返回字符串中字符的數(shù)量。如為用戶自定義類型,LenB 返回在內(nèi)存中的大小,包括元素之間的襯墊。
例子:BLEN(“中國”)的結(jié)果為4
注意:ANSI方式下1個(gè)英文字符占一個(gè)字節(jié),漢字占兩個(gè)字節(jié);UNICODE方式下漢字英文均占兩個(gè)字節(jié)
在UNICODE方式下:
LEN,1個(gè)英文字符和漢字均占一個(gè)字節(jié)
LEN2,1個(gè)英文字符和漢字均占兩個(gè)字節(jié)
?
ANSI下
LEN,1個(gè)英文字符占半個(gè)字節(jié)漢字占一個(gè)字節(jié)
LEN2,1個(gè)英文字符占1個(gè)字節(jié)漢字占兩個(gè)個(gè)字節(jié)
但是,在我們常用的WINXP/WIN7系統(tǒng)里,LENB對任何一個(gè)英文字符或者漢字都返回2;LEN對于任何一個(gè)英文字符和漢字都返回1,因?yàn)檫@個(gè)取決于VB本身以及windows的字符集,而現(xiàn)在二者都是unicode的,所以一直都是這個(gè)結(jié)果,我們無法找到ansi字符集下來驗(yàn)證lenb的執(zhí)行結(jié)果。
?
當(dāng)然字節(jié)專用的函數(shù)判斷還有InstrN,LeftB,RightB,MidB等等,這些都是返回字節(jié)的,很好用。
?
總結(jié)
以上是生活随笔為你收集整理的Len和lenB的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新生儿住月子中心20天患败血症 什么是败
- 下一篇: 【Android】虹软、安卓、Uniap