中文字符
UTF-8字节长度是:3
GBK字节长度是:2
java例如:
public class TestMain { /** * @param args * @throws UnsupportedEncodingException */ public static void main(String[] args) throws UnsupportedEncodingException { String s = "夏"; System.out.println(s.getBytes("UTF-8").length);// 3 System.out.println(s.getBytes("GBK").length);// 2 } }
但是javascript里没有像java这么好的方法,这里我有两个表达式:
String.prototype.lenB=function(){return this.replace(/[^\x00-\xff]/g, "**").length;} // GBK String.prototype.lenA=function(){return this.replace(/[^\x00-\xff]/g, "***").length;} // UTF-8
例如:
var s ="夏1"; console.log(s.lenB());// 2+1=3 GBK console.log(s.lenA());// 3+1 =4 UTF-8