Arch manual pages

encoding(3tcl) Tcl Built-In Commands encoding(3tcl)


encoding - 操縱編碼

encoding option ?arg arg ...?

在 Tcl 中字符串使用16位的 Unicode 字符來編碼。不同的操作系統接口或應用可以生成用其他編碼如 Shift-JIS 的字符串。encoding 命令是 Unicode 和其他格式之間的橋樑。

依照option,完成與編碼相關一系列操作之一。合法的 options有:
encoding convertfrom ?encoding? data
data 從特定的 encoding(編碼)轉換成 Unicode。在 data 中的字符被作爲二進制數據對待,其中的每個字符的低8位被作爲一個單一的字節接受。結果的字節序列被作爲一個用特定的 encoding 編碼的字符串。如果未指定 encoding,使用當前的系統編碼。
encoding convertto ?encoding? string
string 從 Unicode 轉換成特定的 encoding編碼。結果是表示轉換後的字符串的一個字節序列。每個字節都存儲在一個 Unicode 字符的低8位中。如果未指定 encoding,使用當前的系統編碼。
encoding names
返回包含當前可獲得的所有編碼的名字的一個列表。
encoding system ?encoding?
設置系統編碼爲 encoding。如果省略了 encoding,則命令返回當前系統編碼。在 Tcl 向系統調用傳遞字符串時使用系統編碼。

一個常見的實踐是用產生 euc-jp 編碼輸出的文本編輯器來寫腳本文件,它把 ASCII 字符表示成一個單一的字節而把日文字符表示成兩字節。這樣通過簡單的鍵入對應於非 ASCII 字符的文字串便可在腳本中某個位置上嵌入它。但是, 由於 source 命令總是使用 ISO8859-1 編碼來讀文件,Tcl 將把文件中的每個字節作爲一個單獨的字符對待並映射成在 Unicode 中的 00 (代碼)頁(中的字符)。結果的 Tcl 字符串不包含想要的日文字符。轉而,它將包含相應與原始的字符串的每個字節的一個Latin-1 字符的序列。encoding 命令將可被用於把這個字符串轉換成想要的日文 Unicode 字符。例如,
	set s [encoding convertfrom euc-jp "\xA4\xCF"]
將返回 Unicode 字符串 "\u306F",它是 Hiragana 字母 HA。

Tcl_GetEncoding(3)

encoding

寒蟬退士

2001/07/08

http://cmpp.linuxforum.net

本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh
8.1 Tcl