encoding(3tcl)

NAME
encoding - 操縱編碼

總覽 SYNOPSIS
encoding option ?arg arg ...?

介紹 INTRODUCTION

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

描述 DESCRIPTION

依照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 向系統調用傳遞字符串時使用系統編碼。

範例 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