Node.js v25.0.0 ドキュメンテーション
- Node.js v25.0.0
- 目次
-
索引
- アサーションテスト
- 非同期コンテキストの追跡
- Async hooks
- Buffer
- C++アドオン
- Node-API を使用した C/C++ アドオン
- C++ embedder API
- 子プロセス
- Cluster
- コマンドラインオプション
- Console
- Crypto
- Debugger
- 非推奨のAPI
- Diagnostics Channel
- DNS
- Domain
- 環境変数
- エラー
- Events
- ファイルシステム
- Globals
- HTTP
- HTTP/2
- HTTPS
- Inspector
- 国際化
- モジュール: CommonJS モジュール
- モジュール: ECMAScript モジュール
- モジュール:
node:moduleAPI - モジュール: パッケージ
- モジュール: TypeScript
- Net
- OS
- Path
- Performance hooks
- パーミッション
- Process
- Punycode
- クエリストリング
- Readline
- REPL
- レポート
- 単一実行可能ファイルアプリケーション
- SQLite
- Stream
- String decoder
- テストランナー
- タイマー
- TLS/SSL
- トレースイベント
- TTY
- UDP/datagram
- 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('node: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#
- 型: <string>
現在の Punycode.js のバージョン番号を識別する文字列を返します。