2012-01-04 12 views
0

JavaScript文字列(Unicode文字を含む可能性があります)があれば、それをUTF-8バイト文字列に変換する最良の方法は、次のペイロードを生成してjQueryのAJAX?:JavaScriptバイト文字列とjQuery AJAX

[次の文字列のビッグエンディアンを含む4バイト(NBO)バイトサイズ] [UTF-8でエンコードされた文字列]を介してサーバ

第二に、上記のバイト列が作成されると、どのようにブラウザから干渉や混乱を招くことなくサーバーに送信できますか?十分に簡単であるべき4バイトのヘッダを取得

+0

わかりません。 「UTF-8バイト文字列」とは何ですか? UTF-8でエンコードされた文字列を送信してみませんか?ヘッダーのポイントは何ですか?独自の独自フォーマットを開発するのではなく、JSON(または別の標準)を使用してみませんか? –

答えて

0

:-)事前に

感謝を(好ましくはjQueryのAJAX機能を使用して):

var len = str.length; 
var hdr = String.fromCharCode(
    (len >> 24) & 0xff, 
    (len >> 16) & 0xff, 
    (len >> 8) & 0xff, 
    (len >> 0) & 0xff 
); 

あなたは、元の前に追加することができました。

ただし、JavascriptはUTF-8ではなくUTF-16を使用しています。より高いコードポイントを使用する文字がある場合は、それらを個別にUTF-8に変換してから、ヘッダーの余分な長さを考慮する必要があります。

POSTメッセージで未処理のデータとして送信することができない限り、サーバーにデータを送信するのは難しいです。 JSONエンコーディング、またはURLエンコーディングはどちらもエスケープする特殊文字を必要としますが、サーバーはどちらの場合でもオリジナルのUTF-8ストリームを簡単に再構築できるはずです。