2011-08-16 45 views
0

我正在尋找一種方法來使用actionscript 2轉義utf-8 charachters? 據我所知,它在flash中使用utf-16,而在javascript上使用utf-8。我正在尋找一種類似的轉義方法。 謝謝!actionscript 2 - 轉義utf-8 charachters

回答

0

對此post的第二條評論包含一個用於轉義/ unescape字符串的自定義StringUtil類。


對於那些不能跟隨鏈接。 (免責聲明:不是我的代碼,未經我測試)

class StringUtil 
{ 
    public static function escape(str:String):String 
    { 
     var a:Array = str.split(""); 
     var i:Number = a.length; 

     while(i --) 
     { 
      var n:Number = a[ i ].charCodeAt(0); 

      if(n >= 48 && n <= 56) 
       continue; 

      if(n >= 65 && n <= 90) 
       continue; 

      if(n >= 97 && n <= 122) 
       continue; 

      if(n == 45 || n == 46 || n == 95) 
       continue; 

      a[ i ] = "%" + n.toString(16).toUpperCase(); 
     } 

     return a.join(""); 
    } 

    public static function unescape(str:String):String 
    { 
     var a:Array = str.split("%"); 
     var i:Number = a.length; 

     while(i -- > 1) 
     { 
      var n:Number = parseInt(a[ i ].substr(0, 2), 16); 

      a[ i ] = String.fromCharCode(n) + a[ i ].substr(2); 
     } 

     return a.join(""); 
    } 
}