• 获取字符串的字节数。


    大家都知道,获取字符串的长度可用length来获取,
    那么获取这段字符串的字节数呢?
    ----
    英文字母肯定lenght和字节数都一样:都是1
    而中文lenght=1,字节数=2
    因此,需要作的就是把中文字符的字节数计算出来。
    ----
    方法一:
    alert('a'.replace(/[^\u0000-\u00ff]/g,"aaa").length); 
    //原理:把中文字符替换成2个英文字母,那么字节数就是2,我示例中改成替换成3个英文字母了。因此弹出的字节数是3,如果要正确的,当然是替换成2个字母了

    //\u0000这个表示的是unicode编码

    方法二:
    var str='我我我';
    var bytesCount;
    for (var i = 0; i < str.length; i++)
        
    {
          
    var c = str.charAt(i);
          
    if (/^[\u0000-\u00ff]$/.test(c))   //匹配双字节
          
    {
            bytesCount 
    += 1;
          }

          
    else
          
    {
            bytesCount 
    += 2;
          }

        }

    alert(bytesCount);
    //结果是6
    //
    原理也很简单,用正则判断是不是中文,如果是的话,字节数就加1。
    =====

    匹配中文字符的正则表达式: [\u4e00-\u9fa5]

    匹配双字节字符(包括汉字在内):[^\x0000-\x00ff]
    可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
    =====
    =====
    JS中的几个函数:
    charAt(num) //获取字符串的num位置的字符
    charCodeAt(num)//获取字符串的num位置的字符的unicode编码 
    fromCharCode(num)//获取unicode编码对应的ascii编码(不确定是不是)
    =====
    部分代码来源:http://bbs.gradmin.cn/thread-20092-1-1.html
    一个有关的效果:http://onlyaa.com/html/jsui/20080623/2241.html

  • 相关阅读:
    springboot整合mongdb
    自动垃圾收集机制
    类加载机制
    MacBook 虚拟机的选择
    Spark 学习之 spark-sql.sh的简单使用
    spark 学习之 hadoop搭建之 ssh免密码登录
    userdel account is currently in use
    linux 磁盘管理
    qt ui文件转换成python
    opensuse安装telegram客户端小计
  • 原文地址:https://www.cnblogs.com/McJeremy/p/1230929.html
Copyright © 2020-2023  润新知