Actionscript 2 - экранирование utf-8 символов - PullRequest
0 голосов
/ 16 августа 2011

Я ищу способ экранирования символов utf-8 с помощью Actionscript 2? Насколько я знаю, во flash он использует utf-16, а на javascript он использует utf-8. Я ищу похожий способ побега.

1 Ответ

0 голосов
/ 16 августа 2011

Второй комментарий к этому сообщению содержит пользовательский класс 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( "" ); 
    } 
}  
...