Node.js v21.7.2 ドキュメント
- Node.js v21.7.2
- ► 目次
-
► インデックス
- アサーションテスト
- 非同期コンテキスト追跡
- 非同期フック
- バッファ
- C++ アドオン
- Node-API を使用した C/C++ アドオン
- C++ エンベッダー API
- 子プロセス
- クラスタ
- コマンドラインオプション
- コンソール
- Corepack
- 暗号
- デバッガ
- 非推奨の API
- 診断チャネル
- DNS
- ドメイン
- エラー
- イベント
- ファイルシステム
- グローバル
- HTTP
- HTTP/2
- HTTPS
- インスペクター
- 国際化
- モジュール: CommonJS モジュール
- モジュール: ECMAScript モジュール
- モジュール:
node:module
API - モジュール: パッケージ
- Net
- OS
- パス
- パフォーマンスフック
- パーミッション
- プロセス
- Punycode
- クエリ文字列
- Readline
- REPL
- レポート
- 単一実行ファイルアプリケーション
- ストリーム
- 文字列デコーダー
- テストランナー
- タイマー
- TLS/SSL
- トレースイベント
- TTY
- UDP/データグラム
- URL
- ユーティリティ
- V8
- VM
- WASI
- Web Crypto API
- Web Streams API
- ワーカースレッド
- Zlib
- ► 他のバージョン
- ► オプション
Punycode#
ソースコード: lib/punycode.js
Node.js にバンドルされている punycode モジュールは非推奨になっています。 Node.js の将来のメジャーバージョンでは、このモジュールは削除されます。現在 `punycode` モジュールに依存しているユーザーは、ユーザーランド提供の Punycode.js モジュールに切り替える必要があります。punycode ベースの URL エンコーディングについては、`url.domainToASCII` または、より一般的には、WHATWG URL API を参照してください。
`punycode` モジュールは、Punycode.js モジュールのバンドルバージョンです。以下を使用してアクセスできます。
const punycode = require('punycode');
Punycode は、RFC 3492 で定義されている文字エンコーディングスキームであり、主に国際化ドメイン名で使用することを目的としています。URL のホスト名は ASCII 文字のみに制限されているため、ASCII 以外の文字を含むドメイン名は Punycode スキームを使用して ASCII に変換する必要があります。たとえば、英語の単語 `'example'` に変換される日本語の文字は `'例'` です。国際化ドメイン名 `'例.com'` (`'example.com'` と同等)は、Punycode によって ASCII 文字列 `'xn--fsq.com'` として表されます。
`punycode` モジュールは、Punycode 標準のシンプルな実装を提供します。
`punycode` モジュールは、Node.js が使用するサードパーティの依存関係であり、開発者の便宜のために利用可能になっています。モジュールへの修正またはその他の変更は、Punycode.js プロジェクトに送付する必要があります。
`punycode.decode(string)`#
- `string` <string>
`punycode.decode()` メソッドは、ASCII 文字のみの Punycode 文字列を、Unicode コードポイントの同等の文字列に変換します。
punycode.decode('maana-pta'); // 'mañana'
punycode.decode('--dqo34k'); // '☃-⌘'
`punycode.encode(string)`#
- `string` <string>
`punycode.encode()` メソッドは、Unicode コードポイントの文字列を、ASCII 文字のみの Punycode 文字列に変換します。
punycode.encode('mañana'); // 'maana-pta'
punycode.encode('☃-⌘'); // '--dqo34k'
`punycode.toASCII(domain)`#
- `domain` <string>
`punycode.toASCII()` メソッドは、国際化ドメイン名を表す Unicode 文字列を Punycode に変換します。ドメイン名の ASCII 以外の部分のみが変換されます。すでに ASCII 文字のみを含む文字列に対して `punycode.toASCII()` を呼び出しても効果はありません。
// encode domain names
punycode.toASCII('mañana.com'); // 'xn--maana-pta.com'
punycode.toASCII('☃-⌘.com'); // 'xn----dqo34k.com'
punycode.toASCII('example.com'); // 'example.com'
`punycode.toUnicode(domain)`#
- `domain` <string>
`punycode.toUnicode()`メソッドは、Punycode でエンコードされた文字を含むドメイン名を表す文字列を Unicode に変換します。ドメイン名の Punycode でエンコードされた部分のみが変換されます。
// decode domain names
punycode.toUnicode('xn--maana-pta.com'); // 'mañana.com'
punycode.toUnicode('xn----dqo34k.com'); // '☃-⌘.com'
punycode.toUnicode('example.com'); // 'example.com'
`punycode.ucs2` #
`punycode.ucs2.decode(string)`#
- `string` <string>
`punycode.ucs2.decode()` メソッドは、文字列内の各 Unicode 記号の数値コードポイント値を含む配列を返します。
punycode.ucs2.decode('abc'); // [0x61, 0x62, 0x63]
// surrogate pair for U+1D306 tetragram for centre:
punycode.ucs2.decode('\uD834\uDF06'); // [0x1D306]
`punycode.ucs2.encode(codePoints)`#
- `codePoints` <integer[]>
`punycode.ucs2.encode()` メソッドは、数値コードポイント値の配列に基づいて文字列を返します。
punycode.ucs2.encode([0x61, 0x62, 0x63]); // 'abc'
punycode.ucs2.encode([0x1D306]); // '\uD834\uDF06'
`punycode.version`#
現在の Punycode.js バージョン番号を識別する文字列を返します。