actionscript 2 - 转义utf-8字符

时间:2011-08-16 14:44:53

标签: javascript actionscript encoding utf-8 actionscript-2

我正在寻找一种方法来使用动作2来逃避utf-8 charachters? 据我所知,在flash中它使用utf-16而在javascript上它使用utf-8。我正在寻找一种类似的逃避方法。 谢谢!

1 个答案:

答案 0 :(得分:0)

对此post的第二条评论包含一个用于转义/转换字符串的自定义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( "" ); 
    } 
}