Цитата:
|
Возможно существуют какие-то способы передачи ByteArray от php сервера? И нужно пользоваться именно ими?
|
Base64 вполне нормален. Только для этого нужно понимать, где и с чем он работает. С какой стороны у него кормятся байты и из какой стороны вылезают строки (на самом деле байты в определенном диапазоне, которые затем конвертируются в строку).
Дальше вопрос по вашему коду:

Код AS3:
var encoded:String = Base64.encode(strBytes);
var decoded:ByteArray = Base64.decode(encoded);
trace(decoded.toString())
Вы трейсите byte array. Почему вы его передаете как текст? Почему вы не трейсите сразу strBytes? В этой точке ваш decoded в точности равен strBytes (потому что вы выполнили прямое и обратное преобразование). Понимаете ли вы, что преобразование byteArray в строку - операция необратимая (там байты могут потеряться, например).
Цитата:
var decoded:ByteArray = Base64.decode("1X0ceapxfyHFztoZ34dmzp7up0XnRaOt/IvCyAsuGhcGaXGSndGJnFbNxIxTrFym");
var testStr:String = decoded.toString();
|
В чем смысл переводить бинарные данные в строку? Затем писать ее в utf-8 (очевидно же, что получится уже другой byte array).
Перестаньте подбирать различные способы перекладывания из строк в строки и разберитесь, что же вам на самом деле нужно. Прокоментируйте в коде для каждой переменной, что именно в ней лежит. Т.е. что получается в результате ваших преобразований. Тогда вы и поймете, какие из манипуляций со строками лишние. Если их убрать, все будет работать нормально.