2011-07-08 8 views

Odpowiedz

1

Większość pakietów, które widziałem, które zawierają jeden jako funkcji wsparcia wykorzystać ten, który jest uznawany Steve Webster. Nie wiem, w którym pakiecie się to zaczęło, ale pojawia się w kilku bibliotekach, w tym as3crypto lib w Google Code.

13

Adobe ma dwa narzędzia do tego - Base64Encoder & Base64Decoder. Oba znajdują się w pakiecie mx.utils. Chociaż musiałem je tutaj wyśledzić - encoder & decoder.

Wykorzystanie byłoby coś jak:

var bmd:BitmapData = myBitmap.bitmapData; 
var ba:ByteArray = bmd.getPixels(new Rectangle(0,0,bmd.width,bmd.height)); 
var b64:Base64Encoder = new Base64Encoder(); 
b64.encodeBytes(ba); 
trace(b64.toString()); 

Podobnie 'b64.encode' będzie kodować String zamiast ByteArray.

Zarówno koder, jak i dekoder dodają odpowiednie wyniki do wewnętrznego bufora. Musisz tylko użyć "toString", aby zwrócić bieżący bufor.

+1

Z jakiegoś powodu [dokumentacja na ich stronie] (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/utils/Base64Encoder.html) jest niekompletna. Na szczęście poprawna dokumentacja pojawia się w funkcji autouzupełniania FlashBuilder. –

+0

Ja też bym to zrobił. –

+0

+1! działa po wyjęciu z pudełka, nie ma potrzeby pakowania żadnych specjalnych plików. Uwaga: jeśli nie widzisz pakietu mx we FlashDevelop, zobacz to [pytanie] (http://stackoverflow.com/questions/524893/flashdevelop-why-does-code-completion-notwork-with-mx- sterownica). – rustyx

2

blooddy_crypto roszczeń (zgodnie z jego punktem odniesienia), aby mieć szybszy base64 koder/dekoder niż jednego mx.utils.