travelmate051
Постоялец
- Регистрация
- 9 Янв 2007
- Сообщения
- 114
- Реакции
- 23
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.
Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
2jik, спс огромное, но думаю твой код не идеален ) Уже пишу покороче и по проще для понимания )
Тоже нужно, поддерживаюПомогите пожалуйста!
Вот что получается:
*** скрытое содержание ***
Вот новый класс Base64 в плеере:
*** скрытое содержание ***
package com.util
{
import com.uppod.*;
import flash.utils.*;
public class Base64 extends Object
{
public static const version:String = "1.0.0";
private static const BASE64_CHARS:String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
public function Base64()
{
throw new Error("Base64 class is static container only");
}// end function
public static function enc_replace_ab(param1:String, param2:String, param3:String) : String
{
var _loc_4:* = new RegExp(param1, "g");
var _loc_5:* = new RegExp(param2, "g");
param3 = param3.replace(_loc_4, "___");
param3 = param3.replace(_loc_5, param1);
param3 = param3.replace(/___/g, param2);
return param3;
}// end function
public static function encode(param1:String) : String
{
var _loc_2:* = new ByteArray();
_loc_2.writeUTFBytes(param1);
var _loc_3:* = encodeByteArray(_loc_2);
_loc_3 = enc_replace(_loc_3, "e");
return _loc_3;
}// end function
private static function enc_replace(param1:String, param2:String, param3:Boolean = false) : String
{
var _loc_5:Array;
var _loc_7:Array;
var _loc_8:Array;
var _loc_4:* = new ByteObject();
_loc_5 = [];
_loc_5 = _loc_4.V[0];
var _loc_6:* = _loc_4.V[1];
param1 = _loc_4.tr(param1, 114, 65);
if (param1.substr(-1) == "!")
{
param1 = param1.substr(0, -1);
_loc_5 = _loc_4.I[0];
_loc_6 = _loc_4.I[1];
}
if (_loc_4.Client != null && !param3)
{
if (_loc_4.Client.codec_a != null)
{
_loc_5 = _loc_4.Client.codec_a;
_loc_6 = _loc_4.Client.codec_b;
}
}
if (param2 == "e")
{
_loc_7 = _loc_5;
_loc_8 = _loc_6;
}
if (param2 == "d")
{
_loc_7 = _loc_6;
_loc_8 = _loc_5;
}
var _loc_9:int;
while (_loc_9 < _loc_7.length)
{
param1 = enc_replace_ab(_loc_7[_loc_9], _loc_8[_loc_9], param1);
_loc_9++;
}
return param1;
}// end function
public static function encodeByteArray(param1:ByteArray) : String
{
var _loc_3:Array;
var _loc_5:uint;
var _loc_6:uint;
var _loc_7:uint;
var _loc_2:String;
var _loc_4:* = new Array(4);
param1.position = 0;
while (param1.bytesAvailable > 0)
{
_loc_3 = new Array();
_loc_5 = 0;
while (_loc_5++ < 3 && param1.bytesAvailable > 0)
{
_loc_3[_loc_5] = param1.readUnsignedByte();
}
_loc_4[0] = (_loc_3[0] & 252) >> 2;
_loc_4[1] = (_loc_3[0] & 3) << 4 | _loc_3[1] >> 4;
_loc_4[2] = (_loc_3[1] & 15) << 2 | _loc_3[2] >> 6;
_loc_4[3] = _loc_3[2] & 63;
_loc_6 = _loc_3.length;
while (_loc_6++ < 3)
{
_loc_4[_loc_6 + 1] = 64;
}
_loc_7 = 0;
while (_loc_7++ < _loc_4.length)
{
_loc_2 = _loc_2 + BASE64_CHARS.charAt(_loc_4[_loc_7]);
}
}
return _loc_2;
}// end function
public static function decode(param1:String, param2:Boolean = false) : String
{
param1 = enc_replace(param1, "d", param2);
var _loc_3:* = decodeToByteArray(param1);
return _loc_3.readUTFBytes(_loc_3.length);
}// end function
public static function decodeToByteArray(param1:String) : ByteArray
{
var _loc_6:uint;
var _loc_7:uint;
var _loc_2:* = new ByteArray();
var _loc_3:* = new Array(4);
var _loc_4:* = new Array(3);
var _loc_5:uint;
while (_loc_5 < param1.length)
{
_loc_6 = 0;
while (_loc_6++ < 4 && _loc_5 + _loc_6 < param1.length)
{
_loc_3[_loc_6] = BASE64_CHARS.indexOf(param1.charAt(_loc_5 + _loc_6));
}
_loc_4[0] = (_loc_3[0] << 2) + ((_loc_3[1] & 48) >> 4);
_loc_4[1] = ((_loc_3[1] & 15) << 4) + ((_loc_3[2] & 60) >> 2);
_loc_4[2] = ((_loc_3[2] & 3) << 6) + _loc_3[3];
_loc_7 = 0;
while (_loc_7++ < _loc_4.length)
{
if (_loc_3[_loc_7 + 1] == 64)
{
break;
}
_loc_2.writeByte(_loc_4[_loc_7]);
}
_loc_5 = _loc_5 + 4;
}
_loc_2.position = 0;
return _loc_2;
}// end function
}
}
21ARhdj5btj1rf=dMbTB2Nvzdwdf9vwjzaC5kcWwBc9mwkz6kOkeWNthTd0XHZv1X=jO4k82Mvz9sNoTd0EkbCYDAYjOk=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jOTkZvQ6Tf3wVG303hIdwf9zvwjzfUrZ