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 - 模組:套件
- 網路
- 作業系統
- 路徑
- 效能掛鉤
- 權限
- 程序
- Punycode
- 查詢字串
- 讀取行
- 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)
#
字串
<字串>
punycode.decode()
方法會將僅包含 ASCII 字元的 Punycode 字串轉換成等效的 Unicode 碼點字串。
punycode.decode('maana-pta'); // 'mañana'
punycode.decode('--dqo34k'); // '☃-⌘'
punycode.encode(字串)
#
字串
<字串>
punycode.encode()
方法會將 Unicode 碼點字串轉換成僅包含 ASCII 字元的 Punycode 字串。
punycode.encode('mañana'); // 'maana-pta'
punycode.encode('☃-⌘'); // '--dqo34k'
punycode.toASCII(網域)
#
網域
<字串>
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(網域)
#
網域
<字串>
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(字串)
#
字串
<字串>
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 版本號碼的字串。