Javascript:Unicodeでエンコードされた2バイト文字を元に戻す
主にExtendScriptでしか活用できないと思いますが、JSで日本語などの2バイト文字をtoSource()するとUnicodeに変換されてしまいます。例えば「あ」は「\u3042」と表示されます。
このままでは使いにく場面があるので、元の2バイト文字に戻すコードを作成しました。replace以下のコードです。
var japanese = "ひらがなABCDカタカナ01234漢字"; var encoded = japanese.toSource(); alert(encoded); //→ (new String("\u3072\u3089\u304C\u306AABCD\u30AB\u30BF\u30AB\u30CA01234\u6F22\u5B57")) var decoded = encoded.replace(/(\\u)([0-9A-F]{4})/g, function(match,p1,p2){ return String.fromCharCode(parseInt(p2, 16)); }); alert(decoded); //→ (new String("ひらがなABCDカタカナ01234漢字"))