• HOME > 
  • Javascript > 
  • Javascriptで文字のUnicode(UTF-16)を...

Javascriptで文字のUnicode(UTF-16)を取得する方法【charCodeAtとfromCharCode】

投稿日:

広告

テキストのUnicode(UTF-16)を取得するには?

Javascriptを使うと、日本語(テキスト)のUnicode(UTF-16)を取得したり、Unicode(UTF-16)をテキストに変換することが可能です。

下のフォームはJavascriptで作成したテキストとUnicode(UTF-16)の変換フォームです。左上のテキストボックスに文字を入力し「変換」を押せばUnicode(UTF-16)が取得できます。反対に右下のボックスに入力して変換を押せばテキストに変換できます。

テキスト Unicode(UTF-16)
テキスト Unicode(UTF-16)

ここからは、上のフォームのような取得変換処理を作る方法を解説していきます。

charCodeAtでテキストのUnicode(UTF-16)を取得する

まずはテキストをUnicode(UTF-16)に変換する方法です。取得には「charCodeAt」メソッドを使用します。

charCodeAtは次のように記述することでテキストのUnicode(UTF-16)を返します。

Javascript

var text = "本";
var result = text.charCodeAt();
console.log(result);//「本」のUnicode(UTF-16)は26412

charCodeAtが変換できるのは1文字のみです。対象のテキストが2文字以上の場合は、引数を入力することで何番目の文字を変換するか指定できます。(引数を記述しない場合は最初の文字を変換します)

Javascript

var text = "日本語";
var result = text.charCodeAt(2);//頭文字を0番目として2番目を変換
console.log(result);//「語」のUnicode(UTF-16)は35486

2文字以上のテキストを一括で変換させたい場合はループを用いて一文字づつ変換する処理を作ります。

Javascript

var text = "日本語";
var array = [];//変換したUnicode(UTF-16)を収める用の配列
for(var n = 0;n < text.length; n++){
    array[n] = text.charCodeAt(n);//一文字づつ変換して配列に収めていく
}
var result = array.join(",");//Unicode(UTF-16)を収めた配列をカンマ区切りの文字列にする
console.log(result);//「日本語」のUnicode(UTF-16)は26085,26412,35486

fromCharCodeでUnicode(UTF-16)をテキストに変換する

続いては反対にUnicode(UTF-16)をテキストに変換する方法です。Unicode(UTF-16)からテキストへの変換は「fromCharCode」メソッドを使用します。

fromCharCodeは次のように記述することでUnicode(UTF-16)に該当するテキストを返します。

Javascript

var num = "26412";
var result = String.fromCharCode(num);
console.log(result);//「26412」は「本」

fromCharCodeも一文字単位ごとにしか変換できないため、冒頭のフォームのようにカンマ区切りのUnicode(UTF-16)を一括でテキストに変換したい場合はループを用いて処理を作ります。

Javascript

var num = "26085,26412,35486";
var numArr = num.split(",");//Unicode(UTF-16)をカンマ区切りで配列に変換
var txtArr = [];//変換後の文字を収める用の配列
for(var n = 0; n < numArr.length; n++){
    txtArr[n] = String.fromCharCode(numArr[n]);//一文字づつ変換して配列に収める
}
var result = txtArr.join("");//テキストを収めた配列を文字列に変換
console.log(result);//「26085,26412,35486」は「日本語」

まとめ

以上がJavascriptのcharCodeAtとfromCharCodeを使ってテキストとUnicode(UTF-16)の変換を行う方法です。

Webサービスなどでデータ処理を行う際などに役に立つかもしれませんので是非覚えておいてください。

広告

関連する記事

サムネイル

横スクロール可能なことを示すヒントを表示するJavascri……

2023年09月01日
Javascriptのライブラリ「ScrollHint(スクロールヒント)」を使えば、ユーザーに対して要素がスクロール可能であることをわかりやすく示すアイコンを表示することができます。
サムネイル

JavascriptでブラウザやOSを判定する方法【plat……

2023年09月01日
Javascriptのplatform.jsというライブラリを利用すれば、簡単にユーザーが使用しているブラウザやOS情報を取得し判別する処理を作ることが可能です。
サムネイル

Javascriptでフォーム送信時に確認ダイアログを出す方……

2023年09月01日
Javascriptでフォーム送信時にダイアログ表示させてユーザーに処理を続行して良いか確認するには「confirmメソッド」と「onsubmit属性」の2つを使用します。
サムネイル

jQueryのblurでフォーカスが外れた時の処理を行う方法……

2023年05月01日
最終更新日:2023年05月31日
jQueryのblur()メソッドはフォームの入力ボックスなどでフォーカスが外れたときに処理を実行させることができるメソッドです。
サムネイル

jQueryのinArray()で配列内を検索する方法【要素……

2023年05月01日
最終更新日:2023年05月31日
jQueryのinArrayメソッドは、配列の中に特定の要素が含まれているかどうかを検索することができるメソッドです。
サムネイル

JavascriptのindexOfで文字列を検索する方法【……

2023年05月01日
最終更新日:2023年05月31日
indexOfメソッドを使用すると、テキストや配列の中に指定の文字列が含まれているかどうかを検索することができます。条件分岐に利用することで、ある文字が含まれている時といない時とで処理を分けることが可能になります。