我们有一个日本客户,在大型机上拥有 COBOL 源代码。他声称大型机上的代码以 Shift-JIS2 表示(我们认为我们对此非常了解)。当该代码传输到 PC 时,最常用的编码是什么?我们向他发送了一个程序来处理该 COBOL 代码,但它似乎卡住了。客户不会直接给我们代码,所以实验很难。他的实验似乎表明了 UTF-8;我假设在 Shift-JIS2 中可编码的日文字符相应地转换为 Unicode 等价物。有人在这里有经验吗?
编辑:我认为我们解决了我们的谜团。客户(呃!)在 PC 上使用 CP-932(“ShiftJIS”),但他的 COBOL 程序在标识符中有日文字符,这就是我们的工具阻塞的原因。
编辑:跟进:有点惊喜。SHIFT-JIS 通常将我们认为的 ASCII 文本编码为所谓的“FULLWIDTH”字符,它们占用与东亚表意文字相同的屏幕空间;常规 ASCII 字符充当半角。所以,有一个 FULLWIDTH "A" , "B", ... "Z" 以及 FULLWIDTH "-"。显然,要处理日语 COBOL,我们的 COBOL 解析器不仅必须接受西方 ASCII,而且还必须接受全宽等价物,尤其是。FULLWIDTH 字母和令人惊讶的 FULLWIDTH HYPHEN 用于分隔 COBOL 标识符中的“字母”。
编辑:IBM Enterprise COBOL 允许在标识符中使用 DBCS 字符。哎呀!