文字を文字コードで数値として操作する方法
文字を文字コードの数値として扱い、インクリメント、デクリメントで操作する方法です。
例えば、カタカナの”ア”を”イ”にしたい場合のコード例は下記です。
const char = 'ア' const offset = 2 const charCode = char.charCodeAt(0) + offset const newChar = String.fromCharCode(charCode) console.log(newChar) //イ
charCodeAt()はutf-16文字コードのインデックスを返します。この数値に足したり引いたりすれば別の文字を取得することができます。
文字コードのインデックスから、実際の文字に変換するにはString.fromCharCode()を使います。今回の場合は”ア”より2つインデックスの大きい”イ”が得られます。
ちなみに、”ア”の次のインデックスの文字は小さい”ィ”です。
参考ページは下記
String.prototype.charCodeAt() - JavaScript | MDN
charCodeAt() メソッドは、指定された位置にある UTF-16 コード単位を表す 0 から 65535 までの整数を返します。
UTF8 3byte (e3)
コメント