Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript actionscript 2-转义utf-8字符_Javascript_Actionscript_Encoding_Utf 8_Actionscript 2 - Fatal编程技术网

Javascript actionscript 2-转义utf-8字符

Javascript actionscript 2-转义utf-8字符,javascript,actionscript,encoding,utf-8,actionscript-2,Javascript,Actionscript,Encoding,Utf 8,Actionscript 2,我正在寻找一种使用actionscript 2转义utf-8字符的方法? 据我所知,在flash中它使用utf-16,而在javascript中它使用utf-8。我正在寻找一个类似的转义方法。关于此方法的第二条注释包含一个用于转义/unescape字符串的自定义StringUtil类 对于那些不能跟随链接的人。免责声明:不是我的代码,不是我测试的 class StringUtil { public static function escape( str:String ):String

我正在寻找一种使用actionscript 2转义utf-8字符的方法? 据我所知,在flash中它使用utf-16,而在javascript中它使用utf-8。我正在寻找一个类似的转义方法。

关于此方法的第二条注释包含一个用于转义/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( "" ); 
    } 
}