Galvanize Unicode 产品

Galvanize 产品的 Unicode 版允许您查看和处理包含 Unicode 数据的文件。

Unicode 是一种业界标准字符编码方法,支持全球大多数语言。

我应该安装非 Unicode 版的还是 Unicode 版的 Analytics?

Analytics 提供非 Unicode 版和 Unicode 版。这两个版本都被包含在同一个安装包中,在安装过程中,您可以指定安装哪个版本。

除非您需要查看或分析 Unicode 数据,否则您应该安装非 Unicode 版。Unicode 数据只能在 Unicode 版的 Analytics 中打开。

如果您在具有全球信息系统的环境中工作,或者您分析包含多种语言的数据,则您更有可能遇到 Unicode 数据。

当需要 Unicode 版时

您需要安装 Unicode 版以查看或者分析包含下列内容的数据:

  • 亚洲字符
  • 非 Unicode 即传统字符编码的组合

    例如,至少下列两个字符编码中的语言的某种组合:

    • 拉丁 1(英语和西欧)
    • 拉丁 2(中欧)
    • 斯拉夫语
    • 希腊语
    • 阿拉伯语

说明

如果您想要使用简体中文、日语或波兰语 Analytics 用户界面,则唯一的选择是安装 Unicode 版。此要求与用户界面的语言相关,而与数据的语言无关。

单语数据

如果您所处理的数据只使用英语或者只使用一种西欧语言,您最可能应该安装非 Unicode 版。但是,您应该注意,只使用英语的文件有可能是 Unicode 文件。

说明

如果您不确定在处理组织数据时可能遇到的字符编码,请联系您的 IT 部门。

使用非 Unicode Analytics 处理 Unicode 数据

在某些情况下,可以并且应该首选使用非 Unicode Analytics 来处理 Unicode 数据。

如果您所处理的 Unicode 数据中的所有字符都受到一种传统字符编码的支持,例如,只使用英语的数据,则无需使用 Unicode Analytics。当您将此数据导入到非 Unicode Analytics 时,文本域会被自动从 Unicode 转换为 ASCII,并且不会丢失或者损坏数据。

有关首选此方法的原因,请参见Unicode 版的缺点

说明

如果您将 Unicode 数据导入到非 Unicode Analytics 并且该数据包含不受扩展 ASCII 字符集支持的字符,则会损坏数据。

数据的语言是决定因素

通常,是您所处理的数据的语言而不是 Analytics 用户界面的语言决定了您应该安装的 Analytics 的版本。

例如,您的组织可能使用西班牙语的 Analytics 界面,但是有关是安装非 Unicode 版还是 Unicode 版的决策取决于您预期在该数据中遇到的语言。

简体中文、日语和波兰语 Analytics 用户界面是有关选择 Analytics 版本的一般性指南的例外。这三种界面仅在 Unicode 版中可用。有关本地化 Analytics 界面和 Unicode 支持的信息,请参见语言支持

我当前正在使用哪个版本的 Analytics?

要识别您当前所使用的 Analytics 的版本,请选择帮助 > 关于以打开含有产品和订阅信息的对话框。Unicode非 Unicode 出现在版本号之后。

机器人应用程序或 Analytics Exchange 用户

您需要安装与您的组织使用的机器人应用程序或 Analytics Exchange 的版本匹配的 Analytics 版本。如果它们的版本不匹配,则 Analytics 无法与机器人应用程序或 Analytics Exchange 交互。

Unicode 版的缺点

Unicode 版的 Analytics 具有下列缺点:

  • 数据文件较大 Unicode 数据需要大约两倍于非 Unicode 数据的存储空间,因为每个字符都使用两个字节而不是一个字节表示。
  • 速度可能更慢由于数据文件较大,某些 Analytics 命令可能花费明显更长的时间来执行,这是因为 Unicode 版要处理两倍的数据量。

由于存在上述缺点,因此,您只有在需要使用 Unicode 版来处理 Unicode 数据时才应该安装它。

Analytics 中的单字节与双字节数据之比较

非 Unicode Analytics

当读取和写入数据文件时,Analytics 的非 Unicode 版仅能处理单字节字符集 (SBCS)。在单字节字符集中,使用一个字节的数据代表每个字符,并且最多支持 256 个不同的字符。

非 Unicode Analytics 使用的单字节字符集取决于由您的计算机的系统区域设置指定的语言。如果系统区域设置指定英语或者西欧语言之一,则使用 Windows-1252 字符集。Windows-1252 也称为 "Windows Latin 1"。您可以在 Windows 控制面板中设置您的系统区域设置。

其他指代单字节字符集的常见方式是“ANSI ”、“ANSI 字符集”或“扩展 ASCII”。

说明

非 Unicode Analytics 用来处理数据的字符集不必与 Analytics 用户界面上的文本所使用的字符集相同。

Unicode Analytics

读取数据

Unicode 版的 Analytics 可以读取双字节或单字节字符集。双字节 Unicode 字符使用两个字节的数据来代表每个字符。通过使用两个(或更多个)字节的数据来对字符进行编码,Unicode 能够在单个字符集中代表全球语言的所有字符。

写入数据

对于创建输出文件的写入操作,Unicode Analytics 通常使用双字节 UTF-16 字符编码。对于某些操作,输出文件保留源文件中存在的任何单字节字符编码。

字节数与字符数

使用双字节 Unicode 数据时,请记住域的字节长度(在表布局对话框中显示)和域的字符长度之间的差别。

例如,如果在表布局对话框中 Unicode 域的长度为 44 字节,则该域实际包含 22 个字符。

为什么字节和字符在 ACLScript 中很重要

当您使用包含域长度参数的函数(如 STRING( ) 和 SUBSTRING( ))时,请以字符而不是字节为单位指定长度。反之,DEFINE FIELD 要求您以字节而非字符为单位指定域长度。

在非 Unicode Analytics 中,一个字节等于一个字符,因此字节和字符之间的差别无关紧要。但在 Unicode Analytics 中,当时处理双字节 Unicode 数据,两个字节等于一个字符,因此其差别确实很重要。

有关对特定命令和函数使用哪个类型单位的详细信息,请参见 ACL 脚本指南

将文本文件导入到 Unicode Analytics 中

文本文件的字符编码影响其被导入到 Unicode Analytics 的方式,以及被用于生成的 Analytics 表中的字符域的数据类型。

在将 ASCII 和 EBCDIC 文件导入到 Unicode Analytics 时,您具有两个选择:

  • 将字符数据类型转换到 Unicode 并且创建一个 Analytics 数据文件

    如果您随后将 Unicode 数据类型更改为 ASCII 或 EBCDIC,则这些域中的字符将不会正确显示。

  • 保留 ASCII 或 EBCDIC 字符编码,并且仅创建一个不包含 Analytics 数据文件的 Analytics 表布局

    Analytics 表布局继续被链接到源文本文件。

文本文件字符编码 数据定义向导选项 Analytics 表中的字符数据类型 字符长度
UTF-16 LE (Unicode)

Unicode 文本

UNICODE 双字节字符
UTF-8 (Unicode)

编码文本 + 数据文件的适当字符集(代码页)

UNICODE 双字节字符

扩展 ASCII(ANSI 字符集)

ASCII > 分隔文本文件

ASCII > 打印图像(报告)文件

UNICODE 双字节字符

ASCII > 其他文件格式

ASCII

单字节字符

EBCDIC

EBCDIC > 打印图像(报告)文件

UNICODE 双字节字符

EBCDIC > 其他文件格式

EBCDIC

单字节字符

小尾数法和大尾数法数据

“小尾数法”(LE) 和“大尾数法”(BE) 表示两种不同的 Unicode 数据编码方法。源自 Microsoft Windows 计算机的 Unicode 数据通常采用小尾数法编码。如果在 Windows 计算机上使用 Analytics,则不能分析大尾数法数据。

非 Unicode Analytics 项目到 Unicode 的转换

您可以在 Unicode 版的 Analytics 中打开非 Unicode Analytics 项目,但却无法在非 Unicode Analytics 中打开 Unicode Analytics 项目。

  在非 Unicode Analytics 中打开 在 Unicode Analytics 中打开
非 Unicode 项目
Unicode 项目

项目转换

当您在 Unicode Analytics 中打开非 Unicode Analytics 项目时,系统会提示您将该项目和关联的日志文件自动转换为 Unicode。如果继续进行转换,原始的非 Unicode 项目版本和日志文件将会以文件扩展名 .OLD 保存,而不会进行更改。

说明

一旦将非 Unicode Analytics 项目转换为 Unicode 项目,您将不能再在非 Unicode 版的 Analytics 中打开该项目,而且您无法将该项目重新转换到非 Unicode 版本。如果需要,您可以使用 .OLD 文件恢复该项目的非 Unicode 版本。

Analytics 数据文件

当您将非 Unicode Analytics 项目转换为 Unicode 时,任何关联的 Analytics 数据文件 (.fil) 都不会被转换为 Unicode。它们在 Unicode 项目中继续保持为单字节 ASCII (ANSI) 数据。

说明

在 Unicode Analytics,未转换单字节数据中域的字节位置或字节长度的工作方式与其在非 Unicode Analytics 中的工作方式相同。一个字节等于一个字符。如果您针对引用字节位置或字节长度的未转换数据执行任何命令,请切记此差别。

Analytics 中的 Unicode 专用函数

Analytics 具有 6 个 Unicode 专用函数,以帮助完成数据分析和转换。函数总结如下表所示。这些函数仅包括在 Analytics 的 Unicode 版本中。

有关这些函数的详细信息,请参见 ACL 脚本指南

函数

目的

BINTOSTR( )

返回由 ZONED 或 EBCDIC 字符数据转换成的 Unicode 字符数据。英文“Binary to String”的缩写。

此转换可确保正确显示以 ZONED 或 EBCDIC 编码的值。

DBYTE( )

返回记录中指定字节位置的 Unicode 字符。

DHEX( )

将 Unicode 字符串转换为十六进制字符串。

HTOU( ) 的倒数。

HTOU( )

将十六进制字符串转换为 Unicode 字符串。英文“Hexadecimal to Unicode”的缩写。

DHEX( ) 的倒数。

DTOU( )

将 Analytics 日期值转换为指定语言和区域设置格式的 Unicode 字符串。英文“Date to Unicode”的缩写。

UTOD( ) 的倒数。

UTOD( )

将包含一个格式化日期的 Unicode 字符串转换为一个 Analytics 日期值。英文“Unicode to Date”的缩写。

DTOU( ) 的倒数。

Analytics 14.1 帮助