rayj88 发表于 2014-11-04 16:48

如何使用Javascript处理unicode 字串达到与php的chr()同样的功能 ?

本帖最后由 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-8unicode
      $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-8unicode
      $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-8unicode
      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-8unicode
      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>

caoshanhu 发表于 2014-12-08 17:04

这个得找库,网上搜一下,应该有
页: [1]
查看完整版本: 如何使用Javascript处理unicode 字串达到与php的chr()同样的功能 ?