Pages - Menu

2017年7月6日 星期四

Byte 計算中文字加英文字

如果用一般的length,那中文也當成是一個字。

故要轉成byte,那中文就是兩個字了。


string str = "測試測試一二三123121";
Response.Write(str.Length.ToString());
Response.Write(System.Text.Encoding.Default.GetBytes(str).Length);

javascript的話,則可用此方法

function stringBytes(c){
   var n=c.length,s;
   var len=0;
   for(var i=0; i <n;i++){
    s=c.charCodeAt(i);
    while( s > 0 ){
       len++;
       s = s >> 8;
    }
   }
   return len;
}
 
var tx="測試中sad1111111f";
$(document.body).append(stringBytes(tx));

沒有留言:

張貼留言