使用双向数据

阿拉伯语和希伯来语使用从右到左书写和阅读的字母。 嵌入在从右到左文本中的数字和拉丁文本是从左到右书写和读取的。 因此,这些语言被称为双向语言。 这些语言具有一些需要注意的独特属性。

文本的视觉和逻辑存储

最初在 IBM i 中添加阿拉伯语和希伯来语支持时,该系统是在独立环境中使用的。 此支持的设计人员决定以可视形式存储双向数据。 在屏幕上看到数据时,数据存储在内存中。 无需进行特殊处理来格式化数据以进行演示,因为该数据已采用演示文稿形式。 由于数据仅存在于 IBM i上,因此使用的表单无关紧要。 当将阿拉伯语和希伯来语支持添加到 PC 和 UNIX 系统时,此支持的设计人员决定以逻辑方式存储双向数据。 数据按其输入顺序 (而不是其显示方式) 存储在内存中。 此方法的优点是,双向数据将非双向应用程序视为 "正常" 数据。 缺点是系统需要格式化数据以进行列报。 由于该数据仅存在于该框中,因此无论使用何种形式都无关紧要。 但是,随着时间的推移,客户开始在 IBM i 与其他应用程序之间来回交换数据。 他们随后发现,尽管使用了相同的字符,但数据并不相同。 数据既需要进行编码更改,也需要进行逻辑上的重新排序。

为了解决这种情况,创建了几个 CCSID ,以允许客户告诉系统他们想要执行哪种类型的操作。 多个 CCSID 允许系统 "正确处理" 双向数据。 有关此列表,请参阅 双向敏感 CCSIDS

术语向左和向右

由于双向语言是从右到左编写和读取的,因此应避免使用术语 "左" 和 "右"。 例如,希伯来语或阿拉伯语文档中的 右页边距 是行的开头而不是结尾。 使用单词 startend 代替单词 rightleft

区分大小写的字符

希伯来语和阿拉伯语没有区分大小写的字符。 为了避免字符的不正确表示,不应执行区分大小写的检查或替换。 此外,阿拉伯语不使用缩写,因此,您应该只使用完整的单词。