【问题标题】:Outputting a binary file from PHP as a Javascript binary string从 PHP 输出二进制文件作为 Javascript 二进制字符串
【发布时间】:2011-06-10 07:08:02
【问题描述】:

我有一个在 PHP 中打开的二进制文件(类型无关紧要)。我希望能够将数据从 PHP 输出到 Javascript 变量,即二进制字符串。为了比较和证明可能性,如果您将 XmlHttpRequest 的覆盖 mime 类型设置为 text/plain 和用户定义的字符集,您可以强制将完整的二进制文件作为二进制字符串加载,然后在 javascript 世界中访问它。

我无法使用 ajax,因此需要能够直接从 PHP 脚本输出相同的数据。在正确转义所有 javascript 相关数据(如引号、反斜杠和换行符)并将其对齐为 UTF-16 后,浏览器将在解析时抱怨字符串中存在非法字符。因此,我错过了一个我需要逃脱的角色(可能)。有人知道是什么吗?

【问题讨论】:

  • 更多更完整的信息将大大改善我们对您的回答。
  • 几个原因使您的原始计划非常不切实际。这些答案涵盖了非常相似的问题(json 是 javascript,但更少):stackoverflow.com/questions/1443158/…

标签: php javascript string encoding binary


【解决方案1】:

要么使用 base64,要么使用类似 http://www.nihilogic.dk/labs/canvascompress/ 的技术将数据嵌入 PNG。只要 PNG 来自同一个域,PNG 技术将节省大量带宽,并且可以在任何具有 HTML5 画布的浏览器(所有现代浏览器,包括 IE9)中工作。

【讨论】:

  • 我不使用 AJAX 的原因是它不是来自同一个域:P
【解决方案2】:

您可以尝试在 PHP 端对其进行 base64 编码,然后在 Javascript 中对其进行解码。

【讨论】:

  • 为了速度我宁愿避免这种情况。
猜你喜欢
  • 1970-01-01
  • 2012-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-15
  • 1970-01-01
相关资源
最近更新 更多