【问题标题】:Japanese COBOL code on IBM mainframe in Shift-JIS; represented after transfer to a PC how?Shift-JIS 中 IBM 大型机上的日语 COBOL 代码;转移到PC后如何表示?
【发布时间】:2009-08-21 03:06:01
【问题描述】:

我们有一个日本客户,它在大型机上拥有 COBOL 源代码。他声称大型机上的代码以 Shift-JIS2 表示(我们认为我们对此非常了解)。当该代码传输到 PC 时,最常用的编码是什么? 我们向他发送了一个程序来处理该 COBOL 代码,但它似乎卡住了。客户不会直接给我们代码,所以实验很难。他的实验似乎表明了 UTF-8;我假设在 Shift-JIS2 中可编码的日文字符相应地转换为 Unicode 等价物。有人在这里有经验吗?

编辑:我认为我们解决了我们的谜团。客户(呃!)在 PC 上使用 CP-932(“ShiftJIS”),但他的 COBOL 程序的标识符中有日文字符,这就是我们的工具卡住的原因。

编辑:跟进:有点惊喜。 SHIFT-JIS 通常将我们认为的 ASCII 文本编码为所谓的“FULLWIDTH”字符,它们占用与东亚表意文字相同的屏幕空间;常规 ASCII 字符充当半角。所以,有一个全宽“A” , "B", ... "Z" 以及 FULLWIDTH "-"。显然,要处理日语 COBOL,我们的 COBOL 解析器不仅必须接受西方 ASCII,而且还必须接受全宽等价物,尤其是。 FULLWIDTH 字母和令人惊讶的 FULLWIDTH HYPHEN 用于分隔 COBOL 标识符中的“字母”。

编辑:IBM Enterprise COBOL 允许在标识符中使用 DBCS 字符。哎呀!

【问题讨论】:

  • 一些ftp工具,比如FFFTP会为你进行编码转换,所以一定要指定传输方式。 forest.impress.co.jp/lib/inet/servernt/ftp/ffftp.html
  • 如果是这样,它的默认值是什么?
  • 注意 CP-932 是 Shift-JIS 的扩展(通常在 Windows 上使用)。表示 CP-932 时不要使用 Shift-JIS,因为某些字符将无法正确编码。
  • 这是将近七年后的事了。还是个问题?如果无法访问源,您将在黑暗中拍摄。与日本 COBOL 程序员短期签约可能就像戴夜视镜一样,因为如果客户以日本“正常”的方式做事(而 COBOL 人知道正常的方式),你会很幸运。甚至动词也不必是原始的,尽管我不确定它们是否可以是 DBCS。我怀疑他们可以进行一些调整,但我没有尝试过。
  • IBM 和 Microsoft 努力提供与 IBM 相当的“Windows DBCS”。每个相关的“IBM”代码页都有对应于 Windows 的代码页。据我所知,日语 COBOL 程序使用英语动词以及所有标识符和文字(如果可能)使用日语是“正常的”。它似乎确实包含“宽”拉丁字符。

标签: unicode cobol mainframe shift-jis


【解决方案1】:

三种编码在日本仍然非常流行:EUC-JP、ISO-2022-JP 和 Shift-JIS。

ISO-2022-JP 通常用于电子邮件。虽然您会在 Unix 机器中看到 EUC-JP。我个人没有处理过除了 Shift-JIS 之外的任何东西。 (也不是大型机。)

【讨论】:

  • 你得到了点头,因为说了我猜我们不相信的显而易见的事情:-{
  • 查看我的原始问题的编辑内容,了解涉及全宽字符的并发症。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-02
  • 1970-01-01
相关资源
最近更新 更多