一般計算字串長度,有下列幾種:
1.計算字元數,不管中文字,英文字都算一個字元
2.計算Byte數,中文字算2個byte,英文字算1個byte
舉例:
字串為:"我是puma"
1.計算字元數:中文字(2),英文字(4),總共(6)
2.計算Byte數:中文字(4),英文字(4),總共(8)
程式語法
C#
string str = "我是puma";
//一般的字中長度計算,中文字(2),英文字(4),總共(6)
Response.Write(str.Length.ToString());
//利用Byte單位來計算字串長度,中文字(4),英文字(4),總共(8)
Response.Write(System.Text.Encoding.Default.GetBytes(str).Length);
//一般的字中長度計算,中文字(2),英文字(4),總共(6)
Response.Write(str.Length.ToString());
//利用Byte單位來計算字串長度,中文字(4),英文字(4),總共(8)
Response.Write(System.Text.Encoding.Default.GetBytes(str).Length);
VB.Net
Dim str As String = "我是puma"
'一般的字中長度計算,中文字(2),英文字(4),總共(6)
Response.Write(str.Length.ToString())
'利用Byte單位來計算字串長度,中文字(4),英文字(4),總共(8)
Response.Write(System.Text.Encoding.Default.GetBytes(str).Length)
Javascript(小舖Bryan(不來ㄣ)提供)
//string.Blength() 傳回字串的byte長度
String.prototype.Blength = function() {
var arr = this.match(/[^\x00-\xff]/ig);
return arr == null ? this.length : this.length + arr.length;
}
var str = "我是puma";
alert("字元數:"+str.length); //中文字(2),英文字(4),總共(6)
alert("byte數:"+str.Blength()); //中文字(4),英文字(4),總共(8)
</script>