Unicode(¥uxxx形式)を文字列へアンエスケープ

Unicode(¥uxxx形式)を文字列へアンエスケープするには、次のような方法で可能です。

関数定義

JavaScript (ES5)

/**
 * Unicode(¥uxxx形式)を文字列へアンエスケープ
 * @param {string} str エスケープされた文字列
 * @return 文字列へアンエスケープされた文字列を返す
 */
var unicodeUnescape = function(str) {
	var result = '', strs = str.match(/\\u.{4}/ig);

	if (!strs) return '';

	for (var i = 0, len = strs.length; i < len; i++) {
		result += String.fromCharCode(strs[i].replace('\\u', '0x'));
	}

	return result;
};

JavaScript (ES11以降)

/**
 * Unicode(¥uxxx形式)を文字列へアンエスケープ
 * @param {string} str エスケープされた文字列
 * @returns 文字列へアンエスケープされた文字列を返す
 */
const unicodeUnescape = str => (str?.match(/\\u.{4}/ig) ?? []).reduce((result, str) => {
	return result + String.fromCharCode(str.replace('\\u', '0x'));
}, '');

使い方

引数名 説明
第一引数
必須
str string エスケープされた文字列

戻り値

文字列へアンエスケープされた文字列を返します。

JavaScript (ES5)

var result = unicodeUnescape('abc123\\u3042\\u3044\\u3046\\u3048\\u304a');

alert(result);

JavaScript (ES6以降)

const result = unicodeUnescape('abc123\\u3042\\u3044\\u3046\\u3048\\u304a');

console.log(result);

JavaScript逆引きリファレンス一覧へ戻る