php と javascript でのエンコードデコード方法を教えて下さい。


\u6d45\u8349\u5e97

この文字列をデコードして下さい。
また、エンコードの方法を教えて下さい。

webページでも構いません。

よろしくお願いします。

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2011/06/08 20:05:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答0件)

回答はまだありません

  • id:windofjuly
    うぃんど 2011/06/01 20:18:37
    回答権利がないのでヒントとデコード結果のみ

    文字コード:UTF-16
    デコード結果:浅草店
  • id:worldtravel
    utf-16だったんですね。
    ありがとうございました。
  • id:tasklight
    締め切られてしまったので、PHPスクリプトのみを下記に示します。


    >|php|
    <?php
    $sour = '\u6d45\u8349\u5e97'; //元の文字列
    $enc = 'utf-8';
    $str = preg_replace("/\\\u/i", '', $sour);
    $dest = '';
    for ($i = 0; $i < strlen($str); $i += 2)
    $dest .= sprintf("%c", hexdec(substr($str, $i, 2)));
    $dest = mb_convert_encoding($dest, $enc, 'utf-16');
    echo <<< EOD
    <html lang="ja">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset={$enc}" />
    <body>
    {$dest}
    </body>
    </html>
    EOD;
    ?>
    ||<
  • id:pacochi
    JavaScript ではこんな感じで変換できました。

    var origStr = "\\u6d45\\u8349\\u5e97";
    var decStr = unescape(origStr.replace(/\\/g, "%"));
    alert("デコード : " + decStr);
    var encStr = escape(decStr).replace(/%/g, "\\");
    alert("エンコード : " + encStr);
  • id:worldtravel
    みなさんありがとうございました。
    コードまでありがとうございます。
  • id:b0a0a
    >pacochiさんのは冗長過ぎますね
    JavaScriptでは勝手ににデコードされるので

    decStr="\u6d45\u8349\u5e97"

    だけでいいですよ
  • id:pacochi
    最初の origStr がこのサンプルのようにソースべた書きではなく、外部から取り入れた文字列だった場合でも動くような書き方をしました。
    「/」をエスケープとして使えると確定している質問でしたら、私もそう書いたと思います。
    説明が足りずすみません。ご指摘ありがとうございました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません