Scroll to navigation

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


NAME

encoding - 操縱編碼

總覽 SYNOPSIS

encoding option ?arg arg ...?


介紹 INTRODUCTION

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

描述 DESCRIPTION

依照option,完成與編碼相關一系列操作之一。合法的 options有:

data 從特定的 encoding(編碼)轉換成 Unicode。在 data 中的字元被作為二進位制資料對待,其中的每個字元的低8位被作為一個單一的位元組接受。結果的位元組序列被作為一個用特定的 encoding 編碼的字串。如果未指定 encoding,使用當前的系統編碼。
string 從 Unicode 轉換成特定的 encoding編碼。結果是表示轉換後的字串的一個位元組序列。每個位元組都儲存在一個 Unicode 字元的低8位中。如果未指定 encoding,使用當前的系統編碼。
返回包含當前可獲得的所有編碼的名字的一個列表。
設定系統編碼為 encoding。如果省略了 encoding,則命令返回當前系統編碼。在 Tcl 向系統呼叫傳遞字串時使用系統編碼。

範例 EXAMPLE

一個常見的實踐是用產生 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。

參見 SEE ALSO

Tcl_GetEncoding(3)

關鍵字 KEYWORDS

encoding

[中文版維護人]

寒蟬退士

[中文版最新更新]

2001/07/08

《中國 Linux 論壇 man 手冊頁翻譯計劃》:

http://cmpp.linuxforum.net

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

8.1 Tcl