Node.js v25.0.0 文件
- Node.js v25.0.0
- 目錄
-
索引
- 斷言測試
- 非同步上下文跟蹤
- 非同步鉤子
- 緩衝區
- C++ 外掛
- 使用 Node-API 的 C/C++ 外掛
- C++ 嵌入器 API
- 子程序
- 叢集
- 命令列選項
- 控制檯
- 加密
- 偵錯程式
- 已棄用的 API
- 診斷通道
- DNS
- 域
- 環境變數
- 錯誤
- 事件
- 檔案系統
- 全域性物件
- HTTP
- HTTP/2
- HTTPS
- 檢查器
- 國際化
- 模組:CommonJS 模組
- 模組:ECMAScript 模組
- 模組:
node:moduleAPI - 模組:包
- 模組:TypeScript
- 網路
- 作業系統
- 路徑
- 效能鉤子
- 許可權
- 程序
- Punycode
- 查詢字串
- 逐行讀取
- REPL
- 報告
- 單一可執行檔案應用
- SQLite
- 流
- 字串解碼器
- 測試執行器
- 定時器
- TLS/SSL
- 跟蹤事件
- TTY
- UDP/資料報
- URL
- 實用工具
- V8
- 虛擬機器
- 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 定義的一種字元編碼方案,主要用於國際化域名(Internationalized Domain Names)。由於 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 版本號的字串。