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