如何得到一個漢字和字母組合的字串的準確的長度(asp.net 版本的)

來源:互聯網
上載者:User
asp.net|漢字|字串 在實際工作應用中,很多的時候會出現這樣的情況,由於我們對於漢字的特殊的要求,在計算字元個數的時候,由於是Unicode的原因,我們對於一個 漢字 應該是按照兩個字元計算,但是ASp.Net(包括以前的asp)都是給我們按照 一個來計算的,比如 "浪子回眸",如果是在中文系統中我們在計算他的程度的時候"浪子回眸".Length() 的結果是4 而我們的要求應該是 8 ,所以顯然是不符和要求的,所以我在這裡給大家寫一個函數
就可以滿足這樣的要求.
int GetStrLen(String ss){
Char[] cc=ss.ToCharArray();
int intLen=ss.Length;
int i;
if("浪子回眸".Length==8){
//是非 中文 的 平台
return intLen;
}
for(i=0;i<cc.Length;i++){
if(cc[i].ToInt32()>255){
intLen++;
}
}
return intLen;
}
我們在這裡利用的原理是中文的內碼是大於255的,所以當我們判斷一個字元是否是 漢字,就判斷他的內碼是否大於 255,如果是,我們就把這個字元的長度+1,最後我們就得到了完全符合我們要求的一個函數。 


相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。