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