免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6773 | 回复: 1
打印 上一主题 下一主题

[JavaScript] 如何使用Javascript处理unicode 字串达到与php的chr()同样的功能 ? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-11-04 16:48 |只看该作者 |倒序浏览
本帖最后由 rayj88 于 2014-11-05 08:45 编辑

我写了一个JS函数 chr2 企图模拟php chr()函数来处理unicode字串来输出字串"a大小b"。 PHP可以但是JS程序似乎有问题。请问高手JS端的程式出现什么问题了?

程序代码如下及输出如下:



  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    </head>
    <body>
    <div class="container">


   <?php
        $string5 = "" ;
        $str_a = chr(97) ;   //   97  代表   a
        $string5 .= $str_a ;   echo "php str=$string5----<br>" ;
   
        
        $str_c1 = chr(229) ;    //  229,164,167  是    ‘大’ 的utf-8  unicode  
        $string5 .= $str_c1 ;   echo "php str=$string5----<br>" ;
        $str_c2 = chr(164) ;
        $string5 .= $str_c2 ;   echo "php str=$string5----<br>" ;
        $str_c3 = chr(167) ;
        $string5 .= $str_c3 ;   echo "php str=$string5----<br>" ;
   
   
        $str_cs1 = chr(229) ;   //  229,176,143  是    ‘小’ 的utf-8  unicode  
        $string5 .= $str_cs1 ;   echo "php str=$string5----<br>" ;
        $str_cs2 = chr(176) ;
        $string5 .= $str_cs2 ;   echo "php str=$string5----<br>" ;
        $str_cs3 = chr(143) ;
        $string5 .= $str_cs3 ;   echo "php str=$string5----<br>" ;
        
        
        $str_b= chr(  98  ) ;  //   98   代表   b
        $string5 .= $str_b ;   echo "php str=$string5----<br>" ;
        
        echo "<br><br>--------<br><br>" ;
    ?>

   <script language = "JavaScript">   
        
        function chr2(codePt) {
          if (codePt > 0xFFFF) {
            codePt -= 0x10000;
            return String.fromCharCode(0xD800 + (codePt >> 10), 0xDC00 + (codePt & 0x3FF));
          }
          return String.fromCharCode(codePt);
        }
   
        var string5 = "" ;
        var str_a = chr2(97) ;       //   97  代表   a
        string5 += str_a ;     document.write( "js str="+string5+"---<br>"  );
        
        var str_c1 = chr2(229) ;    //  229,164,167  是    ‘大’ 的utf-8  unicode  
        string5 += str_c1 ;   document.write( "js str="+string5+"---<br>"  );
        var str_c2 = chr2(164) ;
        string5 += str_c2 ;   document.write( "js str="+string5+"---<br>"  );
        var str_c3 = chr2(167) ;
        string5 += str_c3 ;   document.write( "js str="+string5+"---<br>"  );
        
        
        var str_cs1 = chr2(229) ;     //  229,176,143  是    ‘小’ 的utf-8  unicode  
        string5 += str_cs1 ;   document.write( "js str="+string5+"---<br>"  );
        var str_cs2 = chr2(176) ;
        string5 += str_cs2 ;   document.write( "js str="+string5+"---<br>"  );
        var str_cs3 = chr2(143) ;
        string5 += str_cs3 ;   document.write( "js str="+string5+"---<br>"  );
        
        var str_b = chr2( 98  ) ;    //   98   代表   b
        string5 += str_b ;   document.write( "js str="+string5+"---<br>"  );
   
   </script>

  
    </div>
    </body>
    </html>

论坛徽章:
0
2 [报告]
发表于 2014-12-08 17:04 |只看该作者
这个得找库,网上搜一下,应该有
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP