カテゴリ: JavaScript 更新日: 2025/11/21

JavaScriptの文字コード操作(charCodeAt, fromCharCode)を初心者向けに解説

JavaScriptの文字コード操作(charCodeAt, fromCharCode)
JavaScriptの文字コード操作(charCodeAt, fromCharCode)

先生と生徒の会話形式で理解しよう

生徒

「先生、文字ってコンピュータの中ではどうやって扱われているんですか?」

先生

「文字はコンピュータの中では数字として扱われています。その数字のことを文字コードと言います。JavaScriptではcharCodeAtfromCharCodeを使って文字と数字を相互に変換できます。」

生徒

「具体的にはどういう使い方をするんですか?」

先生

「それでは、基本から順番に見ていきましょう。」

1. charCodeAtとは?文字を数字に変換する方法

1. charCodeAtとは?文字を数字に変換する方法
1. charCodeAtとは?文字を数字に変換する方法

charCodeAtメソッドは、文字列の指定した位置の文字をUnicode(ユニコード)という規格の数値に変換します。 例えば、「A」はUnicodeで65、「あ」は12354となります。 この方法を覚えると文字の順番や並べ替え、暗号化などの処理に応用できます。


const str = "ABC";
console.log(str.charCodeAt(0)); // Aの文字コード
console.log(str.charCodeAt(1)); // Bの文字コード
console.log(str.charCodeAt(2)); // Cの文字コード

65
66
67

上の例では、文字列"ABC"の0番目、1番目、2番目の文字の文字コードを取得しています。 文字コードを知ると、文字の比較や並べ替えが簡単になります。

2. fromCharCodeとは?数字を文字に変換する方法

2. fromCharCodeとは?数字を文字に変換する方法
2. fromCharCodeとは?数字を文字に変換する方法

fromCharCodecharCodeAtの逆で、数字から文字に変換できます。 文字コードを知ったあとに文字に戻したいときに使います。


console.log(String.fromCharCode(65)); // A
console.log(String.fromCharCode(66)); // B
console.log(String.fromCharCode(67)); // C

A
B
C

このように、数字から文字を生成することも可能です。複数の文字コードを一度に変換することもできます。

3. 文字コードを使った簡単な文字列操作の例

3. 文字コードを使った簡単な文字列操作の例
3. 文字コードを使った簡単な文字列操作の例

文字コードを使うと、文字の並べ替えやシフト(文字をずらす)などが簡単にできます。 例えば、アルファベットを1文字ずつシフトさせる簡単な暗号を作ることもできます。


const text = "ABC";
let encrypted = "";

for (let i = 0; i < text.length; i++) {
  // 文字コードを取得して1加算し、新しい文字に変換
  encrypted += String.fromCharCode(text.charCodeAt(i) + 1);
}

console.log(encrypted); // BCD

BCD

上の例では、charCodeAtで文字コードを取得し、1を足してからfromCharCodeで文字に戻しています。 このように、文字コードを使えば文字列を自由に加工することが可能です。

4. 文字コードの範囲と注意点

4. 文字コードの範囲と注意点
4. 文字コードの範囲と注意点

JavaScriptの文字コードはUnicodeに基づいています。ASCIIコード(英数字や記号)は0~127の範囲ですが、日本語や絵文字などはそれ以上の数値になります。 charCodeAtはサロゲートペア(2つのコードで1文字を表す文字)には注意が必要ですが、基本的な英数字や日本語では問題なく使用できます。

5. まとめて文字コードを取得・変換する方法

5. まとめて文字コードを取得・変換する方法
5. まとめて文字コードを取得・変換する方法

複数文字を一度に文字コードに変換したり、逆に文字コードから文字列を生成することも可能です。


const text2 = "HELLO";
const codes = [];

for (let i = 0; i < text2.length; i++) {
  codes.push(text2.charCodeAt(i));
}

console.log(codes); // [72, 69, 76, 76, 79]

const restored = codes.map(code => String.fromCharCode(code)).join("");
console.log(restored); // HELLO

[72, 69, 76, 76, 79]
HELLO

このように、文字コードを利用することで文字列操作の幅が広がります。暗号化、文字の並べ替え、カスタムの文字処理などさまざまな場面で活用可能です。

カテゴリの一覧へ
新着記事
New1
JavaScript
JavaScriptのfor文の書き方を初心者向けにやさしく解説
New2
JavaScript
JavaScriptの関数でよくあるエラーとその解決法まとめ
New3
JavaScript
JavaScriptのイベント処理でよくあるエラーとその対処法
New4
JavaScript
JavaScriptの純粋関数(pure function)と副作用の違いを理解しよう
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptのマウスイベントの使い方(click, mouseoverなど)
No.3
Java&Spring記事人気No3
JavaScript
JavaScriptのtoStringとString関数の違いを初心者向けに解説
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptの純粋関数(pure function)と副作用の違いを理解しよう
No.5
Java&Spring記事人気No5
JavaScript
JavaScriptで文字列をforループで1文字ずつ処理する方法!初心者向け解説
No.6
Java&Spring記事人気No6
JavaScript
JavaScriptのDOMContentLoadedとloadイベントの違いを理解しよう
No.7
Java&Spring記事人気No7
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.8
Java&Spring記事人気No8
TypeScript
TypeScriptの始め方:開発環境の構築手順【初心者向け】