代码之家  ›  专栏  ›  技术社区  ›  cmjreyes

通过LIFIECONECT将JavaScript中的二进制数据传递到Java applet

  •  1
  • cmjreyes  · 技术社区  · 14 年前

    我正在开发一个带有javascript前端的应用程序,它可以从服务器接收大量八位字节(目前我正在使用php的chr()来模拟一些数据)。

    事实证明,试图将数据从javascript传递到要操作的小程序中是很困难的。由于数据的中间字符串可以为空,因此看起来它在第一个进入的空值处被终止。当二进制数据接触到一个javascript变量时,编码会弄乱一些字节(或者这可能只是我显示它的方式的问题)。

    无论是哪种方式,我都有什么选择,从服务器发送一块二进制数据,并将其放入Java小程序中进行操作。如果我想保持数据完整性,转换成base64(或其他编码)是我唯一的选择吗?

    所有这些对我来说都是新的,所以希望我能清楚地理解。

    2 回复  |  直到 14 年前
        1
  •  3
  •   Ivo Wetzel    14 年前

    啊,LiveConnect的祸根。
    是的,您需要或使用 urlencode base64 以获取您的数据。

    即使在将东西从javascript传递到flash(或back)时,您也需要这样做,因为中间的接口使用以空结尾的字符串(我知道,这很愚蠢)。

        2
  •  0
  •   AlexR    14 年前

    我认为,当Java脚本获得二进制数据并将其传递给Java Applet时,体系结构不是最佳的。您是否考虑修改applet使其直接进入服务器并获取二进制数据?没有Java脚本?