Я работаю над приложением с интерфейсом javascript, который может получать кучу октетов с сервера (пока я использую php's chr() для имитировать некоторые данные).Передача двоичных данных из Javascript в Java-апплет через LiveConnect
Попытка передать данные из javascript в апплет, который нужно манипулировать, оказывается затруднительным. Поскольку данные могут иметь нулевую середину строки, похоже, что она заканчивается при первом запуске нулевого значения. Также похоже, что когда двоичные данные касаются переменной javascript, кодирующие помехи с некоторыми байтами (или, может быть, это просто проблема с тем, как я его показываю)
В любом случае, какие параметры у меня есть для принятия блока двоичных данных, отправленных с сервера и помещения его в апплет Java для управления. Является ли преобразование в base64 (или некоторая другая кодировка) моей единственной опцией, если я хочу сохранить целостность данных?
Все это ново для меня, так что, надеюсь, я все понял.
Благодарим за это, однако, похоже, что я теряю некоторые вещи на маршруте. Я кодирую с encodeURI() на стороне js (escape() лишен) и декодирование с помощью URLDecoder на стороне java. Согласно документам, похоже, они идеально подходят. Один байт задачи - 0xC0, который декодируется как ffffffef ffffffbf ffffffbd. Есть идеи? – cmjreyes 2010-11-26 19:46:09
Похоже, что когда-то Javascript затрагивает его, я теряю эти более высокие байты. Если я base64 это с моего тестового сервера, он делает все в порядке, но это не возможно. Мне придется кое-что выяснить. – cmjreyes 2010-11-26 21:03:42