Javascript actionscript 2-转义utf-8字符
我正在寻找一种使用actionscript 2转义utf-8字符的方法? 据我所知,在flash中它使用utf-16,而在javascript中它使用utf-8。我正在寻找一个类似的转义方法。关于此方法的第二条注释包含一个用于转义/unescape字符串的自定义StringUtil类 对于那些不能跟随链接的人。免责声明:不是我的代码,不是我测试的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
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( "" );
}
}