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

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

投稿日:

このページにはGoogleアドセンス広告とアフィリエイト広告が含まれています。

カテゴリー記事のアイキャッチ画像
広告
広告

テキストの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サービスなどでデータ処理を行う際などに役に立つかもしれませんので是非覚えておいてください。

広告
広告

関連する記事

サムネイル

JSでセレクト値が変更されたらフォームを送信を実行する方法【……

2024年07月02日
ユーザーがセレクトボックスの値を変更したタイミングでフォームの送信を実行するという処理を実装する機会があったので、その方法を備忘録として残しておきます。
サムネイル

JSでチェックボックスの全選択全解除を行う方法【すべて選択】

2024年07月02日
フォームのチェックボックスの数が多いときにあると便利な、ワンクリックで全選択や全解除できる機能をJavaScriptで作る機会があったので、その方法を備忘録として残します。
サムネイル

JSで配列の重複チェックを行う【Setオブジェクトを利用】

2024年07月02日
JavaScriptで配列の中に重複する値が存在するか判定したい状況があり、その時に調べたことを備忘録として残しておきます。今回は単純に重複しているかどうかだけ分かればよかったので、「Setオブジェクト」を使って重複チェックを行う方法を選びました。
サムネイル

JSのkeyup・keydown・keypressの違い【キ……

2024年06月13日
JavaScriptの「keyup」「keypress」「keydown」はいずれもユーザーのキーボードイベントを処理したい時に使用します。それぞれ処理が発火するタイミングなどに違いがあるので、用途に応じた使い分けが必要です。
サムネイル

JSでテキストボックスに入力された値を即時取得する【this……

2024年06月13日
ユーザーがinputのテキストボックスに入力した値をJavaScriptを使って即時取得して処理させたい状況がありましたので、その方法を備忘録として残しておきます。
サムネイル

JavaScriptで偶数と奇数を判定する方法【テーブルの行……

2024年05月16日
ある数値が偶数か奇数かは、「数値を2で割って余りが0なら偶数」「数値を2で割って余りが0でなければ奇数」という方法で判別を行います。
サムネイル

JSで郵便番号検索を実装できるライブラリ【yubinbang……

2024年04月12日
yubinbango.jsは郵便番号検索(郵便番号を打ち込むと住所が自動入力される)機能を簡単に実装できるのライブラリです。一実装方法がとても簡単なのでメールフォームなどに手軽に郵便番号検索機能を導入したい方におすすめです。