zoukankan      html  css  js  c++  java
  • 获取字符串的字节数。

    大家都知道,获取字符串的长度可用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

  • 相关阅读:
    java项目部署到LIINUX
    JAVA项目部署(1)
    JAVA项目服务器部署
    JAVA项目部署到云服务器
    JAVA项目打包
    java项目部署
    NHibernate NHibernate使用时误区
    访问其他电脑的c盘
    unit vs单元测试
    java 获取url及url参数解析
  • 原文地址:https://www.cnblogs.com/McJeremy/p/1230929.html
Copyright © 2011-2022 走看看