2011-01-17 2 views
1

PHPで開いたバイナリファイル(タイプは関係ありません)があります。 PHPからJavascript変数(バイナリ文字列)にデータを出力できるようにしたい。比較と検証のために、XmlHttpRequestのオーバーライドMIMEタイプをtext/plainとユーザー定義のcharsetに設定すると、完全なバイナリファイルをバイナリ文字列として強制的に読み込み、javascriptの世界でそれにアクセスすることができます。PHPからバイナリファイルをJavaScriptバイナリ文字列として出力する

私はajaxを使用することができないため、同じデータをPHPスクリプトから直接出力する必要があります。引用符、バックスラッシュ、改行などのすべてのjavascript関連のデータを正しくエスケープし、UTF-16に整列させた後、ブラウザは解析中に文字列内の不正な文字について文句を言います。したがって、私は(おそらく)逃げ出す必要のある性格を欠いています。誰がそれが何であるか知っていますか?

+0

より多くの情報を入力すれば、私たちの回答が大きく改善されます。 – mplungjan

+0

元の計画は非常に実用的ではありません。これらの答えは非常に同じ問題をカバーしています(jsonはjavascriptですが、lessです):http://stackoverflow.com/questions/1443158/binary-data-in-json-string-something-better-than-base64 –

答えて

0

PHP側でbase64をエンコードし、それをJavascriptでデコードすることもできます。

+0

速度Iこれを避けることを好むでしょう。 – Moncader

1

base64を使用するか、またはhttp://www.nihilogic.dk/labs/canvascompress/のような手法を使用してPNGにデータを埋め込みます。 PNGテクニックは、PNGが同じドメインから提供されている限り、多くの帯域幅を節約し、HTML5キャンバス(IE9を含む現代のすべてのブラウザ)を備えたあらゆるブラウザで動作します。

+0

私はAJAXを使用していない理由は、それが同じドメインからではないということです:P – Moncader

関連する問題