JavaScriptで文字コード値⇔文字列変換
作成中のアプリにてエラーメッセージが文字コードで出力されたので、文字列に変換する処理を書いてみた。
/** * 文字コード値→文字列 */ function (cd) { var cdArr = cd.replace(/\\u([0-9a-fA-F]{1,4})/g, function () { return parseInt(arguments[1], 16) + ','; }).split(','); return String.fromCharCode.apply(String, cdArr); }
ついでに逆の処理も書いた。
/** * 文字列→文字コード値 */ function (str) { var i = str.length, temp = new Array(i); if (str === '') return '\\u0000'; while (i--) { temp[i] = '\\u' + ('000' + str.charCodeAt(i).toString(16)).slice(-4); } return temp.join(''); }