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