Node.js でサポートされているエンコーディングのリスト

2024-04-17

Node.js でサポートされているエンコーディングのリスト

サポートされているエンコーディングのリスト

  • UTF-8: 日本語を含む多くの言語で使用される、汎用性の高いエンコーディングです。
  • ASCII: 英語のみに対応する、シンプルなエンコーディングです。
  • Latin-1: ヨーロッパの言語で使用される、ASCII よりも多くの文字をサポートするエンコーディングです。
  • GB2312: 中国語で使用される、漢字を含む多くの文字をサポートするエンコーディングです。

エンコーディングの使用方法

Node.js でエンコーディングを使用するには、Buffer クラスを使用します。Buffer クラスは、バイナリデータを操作するためのオブジェクトです。

以下の例では、文字列を UTF-8 エンコーディングでエンコードする方法を示します。

const str = 'Hello, world!';
const buffer = Buffer.from(str, 'utf8');
console.log(buffer);

このコードは、次の出力を生成します。

<Buffer 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21>

上記の例では、Buffer.from() 関数を使用して、文字列を Buffer オブジェクトに変換しています。utf8 オプションは、文字列を UTF-8 エンコーディングでエンコードすることを指定します。

エンコードされたバッファをデコードするには、toString() メソッドを使用します。

const buffer = Buffer.from('48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21', 'hex');
const str = buffer.toString('utf8');
console.log(str);
Hello, world!



Node.js でエンコーディングを使用するサンプルコード

この例では、文字列を UTF-8 エンコーディングでエンコードし、output.txt というファイルに書き込みます。

const fs = require('fs');
const str = 'Hello, world!';

const buffer = Buffer.from(str, 'utf8');

fs.writeFile('output.txt', buffer, (err) => {
  if (err) {
    console.error(err);
    return;
  }

  console.log('File written successfully.');
});

例 2: ファイルを UTF-8 エンコーディングで読み込んで、コンソールに表示する

この例では、input.txt というファイルの内容を UTF-8 エンコーディングで読み込み、コンソールに表示します。

const fs = require('fs');

fs.readFile('input.txt', 'utf8', (err, data) => {
  if (err) {
    console.error(err);
    return;
  }

  console.log(data);
});

この例では、文字列を Latin-1 エンコーディングでエンコードし、Web サーバーで送信します。

const http = require('http');

const str = 'Hello, world!';
const buffer = Buffer.from(str, 'latin1');

const server = http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end(buffer);
});

server.listen(3000, () => {
  console.log('Server listening on port 3000');
});

これらの例は、Node.js でエンコーディングを使用する方法をほんの一例です。エンコーディングは、さまざまな目的に使用できます。詳細については、Node.js のドキュメントを参照してください。




Node.js でエンコーディングを使用するその他の方法

URL エンコーディングとデコーディング

URL エンコーディングは、URL に安全な形式で文字列をエンコードするために使用されます。これは、特殊文字やスペースを含む文字列を Web サーバー間で送信する必要がある場合に役立ちます。

const { URLSearchParams } = require('url');

const str = 'Hello, world!';

const encodedStr = new URLSearchParams().set('data', str).toString();
console.log(encodedStr); // Output: data=Hello%2C%20world%21

const decodedStr = new URLSearchParams(encodedStr).get('data');
console.log(decodedStr); // Output: Hello, world!

Base64 エンコーディングは、バイナリデータを ASCII 文字列に変換するために使用されます。これは、バイナリデータを電子メールや Web ページに埋め込む必要がある場合に役立ちます。

const { TextEncoder, TextDecoder } = require('util');

const data = Buffer.from('Hello, world!');

const encoder = new TextEncoder();
const encodedStr = encoder.encode(data).toString('base64');
console.log(encodedStr); // Output: SGVsbG8sIHdvcmxkIQ==

const decoder = new TextDecoder();
const decodedData = decoder.decode(Buffer.from(encodedStr, 'base64'));
console.log(decodedData); // Output: Buffer(11) [72, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108]

カスタムエンコーディング

Node.js では、独自のエンコーディング スキームを作成することもできます。これは、特定のニーズに合わせたエンコーディングが必要な場合に役立ちます。

カスタム エンコーディングを作成するには、Buffer クラスと組み合わせて使用する独自のエンコードおよびデコード関数を作成する必要があります。


node.js


Node.jsでdotenvモジュールを使って環境変数を設定する方法

Node. jsで環境変数を設定するには、いくつかの方法があります。コマンドラインから設定以下のコマンドで環境変数を設定できます。例:.envファイルを使うプロジェクトのルートディレクトリに . env という名前のファイルを作成し、環境変数を設定できます。...


【初心者向け】Express.jsでREST API設計をマスターしよう!ネストされたルーターでコードをスッキリ整理

Express. js は、Node. js 向けの軽量で柔軟な Web アプリケーションフレームワークです。REST API を設計する際に、ネストされたルーターを使用してコードをモジュール化し、整理することができます。利点コードの可読性と保守性を向上...


ts-node vs tscコマンド:TypeScriptファイル実行方法の比較

方法主に2つの方法があります。tscコマンドはTypeScriptファイルをJavaScriptに変換し、実行します。 手順 以下のコマンドを実行します。 tsc ファイル名. ts node ファイル名. jstscコマンドはTypeScriptファイルをJavaScriptに変換し、実行します。...


React & WebpackでFaviconを追加して、ワンランク上のWebサイトへ

Favicon とは、Web サイトのタブやブックマークに表示される小さなアイコンです。Favicon を追加することで、ユーザーにとって Web サイトをより認識しやすくすることができます。Favicon 画像を作成または準備するFavicon 画像は、PNG または ICO 形式でなければなりません。サイズは 16x16 ピクセルにするのが一般的です。Favicon 画像を作成するには、GIMP や Photoshop などの画像編集ソフトを使用できます。また、オンラインの Favicon ジェネレーターを使用することもできます。...


【初心者向け】Node.js、Vue.js、環境変数で始める!Vue.jsアプリケーション開発

このチュートリアルでは、Node. js、Vue. js、そして環境変数を使用して、Vue. jsアプリケーションで環境変数をどのように利用できるのかを説明します。環境変数は、アプリケーションの設定や機密情報などを安全に保持するために役立ちます。...