文字码校验

本产品尽可能的读取(且不改变其格式)字符类型输入数据的数据。这样可以为外字参照的非标准字符数据提供了支持。
当数据不能以相同格式被读取时将会发生读取错误。在文字码校验文件名指定范围中有具体的描述。

自定义文字码校验

如上所述,本产品接受所有字符,包含一些不能接受的"不正确"字符,以及不能作为系统依赖或外字参照的字符。这些字符可以使用自定义文字码校验功能来进行校验。

文字码校验,是通过登录后文字码校验文件,对每个的文字码对象进行校验,根据设置为每个输入视表进行代码校验。
文字码校验文件名的登录通过
作业属性文字码校验标签选项对话框来执行的。
通过视表属性对话框文字码校验的设置,可以设置代码校验可用性。
关于文字码校验文件名的详细信息,参照外字参照文件名和文字码校验文件名。基于文字码校验文件名内容的定义,可以将特定字符改为另一个字符,忽略该字符并生成读取错误

外部码和内部码

文件中字符类型数据的表现,与由本产品读取的内部表现不同。文件中字符类型数据的表现被称为"外部码",本产品中字符类型数据的内部表现被称为"内部码"。


文字码校验文件名指定范围

在这里,读取期间,通过文字码校验文件名进行外部码转换为内部码的处理过程中,需要注意的部分进行说明。
指定的代码范围,对外字参照文件名来说也是相同的。

GB18030
  • 1-字节代码在0000~007F范围内被指定
    然而,当0081~00FE范围内的代码,作为代码校验文件时是不重要的。因为外部码中的0x81~0xFE被视为两个字节码(高层字节)前半部分中字符的一个字节。
  • 2-字节代码在0100 ~FFFF范围内被指定。
    当在内部码中有0x81~0xFE时,跟随的一个字节被视为2字节代码后半部分字符的一个字节。在 GB18030中,前半部分中的字节(高层字节)是0x81~0xFE,并且后半部分中字节(底层字节)是0x40~0x7E 或者 0x80~0xFE 作为有效的2字节代码。本产品读取的区域比上面提到的范围要大,对于包含正则区域的错误,文字码校验文件名中会成为一个错误。
  • 4-字节代码在81308130~FE39FE39范围内被指定
    它不应用与4字节代码的代码校验文件。
BIG5
IBM GB HOST
外部码中的0x0E~0x0F被视为一个汉字移位码。0x0E(<SO>) 是"汉字输入" (以2-字节代码开始),并且0x0F(<SI>) 是 "汉字输出" (以1-字节代码开始)。
假设有一个"汉字输入"在"汉字域"中表格栏数据的头部,并且由一个"汉字输出"在"非汉字域"中表格栏数据的头部。
Unicode(Big endian) 或Unicode(Little endian)
  • 在0000~FFFF范围内指定
    文字码在文字码校验文件中,由内部码指定,指定UCS-2 代码 (十六进制数表达与Unicode(Big endian)相同) 为 Unicode(Little endian) 与 Unicode(Big endian)。前半部分和后半部分中的字节不会被文字码替换或指定。
    上述的Unicode(不是UTF-16),替换配对的字符将作为每2字节对应的2字符来读取,而不是作为4字节对应的1字符。该配对字符的替换,如果需要作为错误信息来捕捉的话,在文字码校验文件中设置 D800-DFFF为错误信息
    代码U+FFFEU+FFFF不应该在任意一个Unicode标准内使用。因为本产品将该字符假定为未定义代码,该代码的读取将不被视为错误信息。如果需要把该代码视为错误信息时,在文字码校验文件中设置 FFFE-FFFF为错误信息
UTF-8