Может быть, это невозможно для вас по какой-то причине, о которой я не знаю, но если это не так, я бы опубликовал данные непосредственно из Actionscript (вы можете отправить двоичные данные).
В любом случаеЕсли вам нужно передать данные в JS, самым безопасным способом будет base64-кодирование ByteArray.После этого у вас есть строка, которая не будет иметь никаких управляющих (читай: проблемных) символов.
Размер, конечно, нужно учитывать.Я не знаю, каковы ограничения ExternalInterface (я когда-либо использовал его только для передачи небольших объемов данных), но вы, скорее всего, достигнете там жесткого предела.Объекты LocalConnection имеют ограничение в 100 Кб или около того, если я правильно помню (они не связаны с API ExternalInterface - по крайней мере, не напрямую - но я упоминаю его просто как остаток от возможных ограничений).Если вы работаете с необработанным звуком, ваши данные будут довольно большими, поэтому вам придется выяснить, как сжимать их (и распаковывать их в конце JS или на сервере), а также, возможно, как их отправлятьв кусках, так как отправка всего сразу будет невозможна, если данные слишком велики.
Опять же, если возможно, я бы отправлял сообщения непосредственно из Actionscript и использовал бы по крайней мере метод сжатия ByteArray перед отправкой данных.