Передача двоичных данных из Javascript в апплет Java через LiveConnect - PullRequest
1 голос
/ 24 ноября 2010

Я работаю над приложением с внешним интерфейсом javascript, которое может получать кучу октетов с сервера (в настоящее время я использую php chr () для имитации некоторых данных).

Попытка передать данные из javascript в апплет для манипуляции оказывается сложной.Поскольку данные могут иметь нулевую середину строки, похоже, что они завершаются при первом входе в нуль. Это также похоже на то, что когда двоичные данные касаются переменной javascript, кодировка смешивается с некоторыми байтами (или, возможно, это просто проблемас тем, как я это отображаю)

В любом случае, какие у меня есть варианты для получения блока двоичных данных, отправленного с сервера, и помещения его в Java-апплет для манипулирования.Является ли преобразование в base64 (или другую кодировку) моим единственным вариантом, если я хочу сохранить целостность данных?

Все это для меня ново, так что, надеюсь, я все ясно понял.

Ответы [ 2 ]

3 голосов
/ 24 ноября 2010

Ах проклятие liveconnect.
Да, вам нужно или использовать urlencode или base64 для передачи ваших данных.

Даже при передаче содержимого из JavaScript во Flash (или обратно) это необходимо, поскольку интерфейс между ними использует строки с нулевым символом в конце (что, я знаю, просто глупо).

0 голосов
/ 24 ноября 2010

Я думаю, что архитектура, когда ваш java-скрипт получает двоичные данные и передает их в java-апплет, не оптимальна.Вы, вероятно, думали изменить апплет, чтобы он мог напрямую отправляться на сервер и получать двоичные данные?Без какого-либо сценария Java?

...