在實(shí)際工作應(yīng)用中,很多的時(shí)候會(huì)出現(xiàn)這樣的情況,由于我們對(duì)于漢字的特殊的要求,在計(jì)算字符個(gè)數(shù)的 時(shí)候,由于是Unicode的原因,我們對(duì)于一個(gè) 漢字 應(yīng)該是按照兩個(gè)字符計(jì)算,但是ASp.Net(包括以前的asp) 都是給我們按照 一個(gè)來(lái)計(jì)算的,比如 "豆腐",如果是在中文系統(tǒng)中我們?cè)谟?jì)算他的程度的時(shí)候 "豆腐".Length() 的結(jié)果是2 而我們的要求應(yīng)該是 4 ,所以顯然是不符和要求的,所以我在這里給大家寫(xiě)一個(gè)函數(shù) 就可以滿足這樣的要求. int GetStrLen(String ss){ Char[] cc=ss.ToCharArray(); int intLen=ss.Length; int i; if("豆腐".Length==4){ //是非 中文 的 平臺(tái) return intLen; } for(i=0;i<cc.Length;i++){ if(cc[i].ToInt32()>255){ intLen++; } } return intLen; } 我們?cè)谶@里利用的原理是中文的內(nèi)碼是大于255的,所以當(dāng)我們判斷一個(gè)字符是否是 漢字,就判斷他的內(nèi)碼 是否大于 255,如果是,我們就把這個(gè)字符的長(zhǎng)度+1,最后我們就得到了完全符合我們要求的一個(gè)函數(shù)。
|
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!