utf-8编码的中文看成2个字符,其他数字字符看成一个字符

简介: 方法一:使用正则表达式,代码如下: function getByteLen(val) {            var len = 0;            for (var i = 0; i < val.

方法一:使用正则表达式,代码如下:

function getByteLen(val) {
            var len = 0;
            for (var i = 0; i < val.length; i++) {
                 var a = val.charAt(i);
                 if (a.match(/[\u4e00-\u9fa5]/)) 
                {
                    len += 2;
                }
                else
                {
                    len += 1;
                }
            }
            return len;
        }

 

方法二:使用字符unicode判断:方法如下:

function getByteLen(val) {
            var len = 0;
            for (var i = 0; i < val.length; i++) {
               var length = val.charCodeAt(i);
               if(length>=0&&length<=128)
                {
                    len += 1;
                }
                else
                {
                    len += 2;
                }
            }
            return len;
        }

 

目录
相关文章
|
7月前
ASCII编码中定义了33个控制字符
ASCII编码中定义了33个控制字符
353 2
|
7月前
|
自然语言处理
字符范围
字符范围
127 2
|
Java Android开发
Java中英文字母汉字混合字符长度值计算
Java中英文字母汉字混合字符长度值计算 String string = "phil安卓"; Logger.
3429 0
有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数
有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数
313 0
|
Unix
处理字符问题(0701)
本文为《汇编语言程序设计》0701小节例程。点击链接…进课程主页。 例:汇编程序中字符的表示 assume cs:code, ds:data data segment db 'unIX' db 'foRK' data ends code segment start: mov al,'a' mov bl,'b' m
774 0