other sections
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有:
- 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"]
参见 SEE ALSO¶
关键字 KEYWORDS¶
encoding
[中文版维护人]¶
寒蝉退士
[中文版最新更新]¶
2001/07/08
《中国 Linux 论坛 man 手册页翻译计划》:¶
8.1 | Tcl |