幾種獲得中英文混合字串長度方法的效能比較

2021-04-12 20:30:08 字數 707 閱讀 3005

閒來無聊,寫了幾個獲得中英文混合字串長度的方法,在效能上做了簡單的比較,希望對大家有所幫助

namespace socg

///

/// 利用 encoding

///

public static int lenght2(string str)

///

/// 迴圈判斷

///

public static int lenght3(string str)

return len;

}///

/// 利用指標迴圈判斷

///

unsafe public static int lenght4(string str)

}return len;}}

}測試:長度為100的比較隨機的字串,1000000次所用的時間

lenght1(正規表示式)----------------245.4 秒   完全不可取(本人正規表示式是外行,如果有效率更高的方法請指正)

lenght2(利用encoding)-------------4.03秒 最.net的方法,可惜不是最快的

lenght3(迴圈判斷)------------------1.36秒 最老實的方法,效能也比較好

lenght4(利用指標迴圈判斷)-----------0.64秒 最**的方法,在速度上無話可說,但是需要/unsafe選項才能編譯通過

PHP中獲取中英文混合字串長度

今晚在寫框架的表單驗證類時,需要判斷某個字串長度是否在指定區間內,很自然地,想到了php中的strlen函式。str hello world echo strlen str 輸出12 然而在php自帶的函式中,strlen及mb strlen都是通過計算字串所佔位元組數來計算長度的,在不同的編碼情況...

Django 擷取中英文混合字串

在列表顯示的時候,我們常常要擷取文章標題的長度,python擷取字串,本來很簡單的,但是中文和英文的寬度不一樣,在頁面看起來長度就差很遠了 length7 這是中文長度七 粗略來算 是粗略哦 乙個中文字元的寬度大概等於兩個英文本元的寬度。乙個中文字元的utf8編碼長度為3,gbk為2 所以將使用gb...

C 中英文混合字串對齊

private static string padrightex string str,int totalbytecount string w str.padright totalbytecount dcount return w 這段 來自 的改進。採用utf 8 coding.getbyteco...