• 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年11月07日
表示中のsource要素のファイルパスをJSで取得したい picture要素(video)要素とsource要素を使って画像(動画)を表示させている時に、Jav […]
サムネイル

JSで入力値が英数字や半角かどうか即時文字チェックする【ma……

2024年10月02日
JavaScriptのmatch()は、正規表現を使って対象の文字列の中に一致するものがあるか検索できるメソッドです。このページではテキストボックスに入力された文字が数字や半角かどうかチェックする機能をmatchメソッドを使って実装する方法ついてご紹介します。
サムネイル

JSでHTMLのデータ属性を取得・更新する方法【datase……

2024年10月02日
JavaScriptのdatasetで要素のdata属性を操作する JavaScriptのdatasetは、HTML要素に設定されたデータ属性(data-*** […]
サムネイル

JavaScriptでラジオボタンの値(value)を取得す……

2024年10月02日
JSでラジオボタンの値を取得・操作する JavaScriptによるラジオボタンの操作(値の取得やチェックの切り替え)の方法を備忘録として残しておきます。 JSで […]
サムネイル

JSで大文字から小文字(小文字から大文字)へ変換する方法

2024年10月02日
JavaScriptで大文字と小文字を変換する JavaScriptを使った文字検索フォームを作るにあたり、大文字小文字どちらで入力されても良いよう、変換処理を […]
サムネイル

JSのclassList.toggleでクラスの付け外しを行……

2024年09月04日
classList.toggleとは? まず「classList」とは要素のクラス属性の情報を参照するプロパティで、「classList.add()」や「cla […]
サムネイル

JSで要素が特定のクラスを持つか調べる【classList.……

2024年09月04日
JSで要素が特定のクラスを持つか調べるには? JavaScriptで要素が特定のクラスを持つか調べるには「classList.contains」を使います。 「 […]