chromeのコンソールで遊んでたり、littleLadyやってたりで知ったんですが、 chromeってescape関数あるんですね。
IEで実装されていたのが引き継がれたのかな。
escape("平も山も") // "%u5E73%u3082%u5C71%u3082" // サロゲートペア escape("𪚲") // "%uD869%uDEB2"
エスケープ解除は
unescape("%u5E73%u3082%u5C71%u3082") // "平も山も" // サロゲートペア unescape("%uD869%uDEB2") // "𪚲"
JSON.parseに流し込むとき、\uが嬉しいので、こんなかんじですかね。
str = escape('{"str":"え?なんだって?"}'); str = str.replace(/%u/g, "\\u"); str = decodeURIComponent(str);