カテゴリ: 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の条件式におけるnull・undefined判定のコツ!初心者でもわかる判定方法ガイド
New2
JavaScript
JavaScriptの条件式で論理演算子(&&, ||, !)を活用する方法!初心者でもわかる使い方ガイド
New3
TypeScript
TypeScriptでエラー処理を共通関数化して効率的に開発しよう!初心者向け例外処理ガイド
New4
JavaScript
JavaScriptの条件式における比較演算子の使い方まとめ!初心者でもわかる基本ルールと活用法
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptのtoStringとString関数の違いを初心者向けに解説
No.3
Java&Spring記事人気No3
TypeScript
TypeScriptでコメントを書く正しい書き方と使い分け【初心者向けにやさしく解説】
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptで統一感のあるコードを書くための基本ルール完全ガイド初心者向けコーディング規約入門
No.5
Java&Spring記事人気No5
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.6
Java&Spring記事人気No6
JavaScript
JavaScriptのonclick・onchangeなどの基本イベントを理解しよう
No.7
Java&Spring記事人気No7
JavaScript
JavaScriptの数値フォーマット(小数点以下の桁数調整)を学ぼう
No.8
Java&Spring記事人気No8
TypeScript
TypeScriptのnever型を使ったエラーハンドリング!例外処理を極める安全なコードの書き方