如何得到一個漢字與字母組合的字符串的準(zhǔn)確的長度(asp.net 版本的)
發(fā)表時間:2024-02-10 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]在實際工作應(yīng)用中,很多的時候會出現(xiàn)這樣的情況,由于我們對于漢字的特殊的要求,在計算字符個數(shù)的時候,由于是Unicode的原因,我們對于一個 漢字 應(yīng)該是按照兩個字符計算,但是ASp.Net(包括以前的asp)都是給我們按照 一個來計算的,比如 "豆腐",如果是在中文系統(tǒng)中我們在...
在實際工作應(yīng)用中,很多的時候會出現(xiàn)這樣的情況,由于我們對于漢字的特殊的要求,在計算字符個數(shù)的
時候,由于是Unicode的原因,我們對于一個 漢字 應(yīng)該是按照兩個字符計算,但是ASp.Net(包括以前的asp)
都是給我們按照 一個來計算的,比如 "豆腐",如果是在中文系統(tǒng)中我們在計算他的程度的時候
"豆腐".Length() 的結(jié)果是2 而我們的要求應(yīng)該是 4 ,所以顯然是不符和要求的,所以我在這里給大家寫一個函數(shù)
就可以滿足這樣的要求.
int GetStrLen(String ss){
Char[] cc=ss.ToCharArray();
int intLen=ss.Length;
int i;
if("豆腐".Length==4){
//是非 中文 的 平臺
return intLen;
}
for(i=0;i<cc.Length;i++){
if(cc[i].ToInt32()>255){
intLen++;
}
}
return intLen;
}
我們在這里利用的原理是中文的內(nèi)碼是大于255的,所以當(dāng)我們判斷一個字符是否是 漢字,就判斷他的內(nèi)碼
是否大于 255,如果是,我們就把這個字符的長度+1,最后我們就得到了完全符合我們要求的一個函數(shù)。