从PHP输出二进制文件作为Javascript二进制字符串

时间:2011-01-17 07:16:20

标签: php javascript string encoding binary

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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