我正在实现一个 EDI-x12 标头解析器(仅用于解析“ISA”段)我注意到可以使用几个字符集。
我的问题是,我如何知道传入的 edi-x12 消息使用的是哪一个,以便我知道如何解释该消息?
如果您只使用 ANSI X12,则 ISA 段应该很容易解析,因为它是固定长度的。
位置 4 将为您提供元素分隔符(字段分隔符)。
位置 106 将为您提供记录终止符。
位置 105 将为您提供子元素分隔符
根据文档类型,您可能不会对子元素分隔符有太多用处。一旦你弄清楚你的字段分隔符是什么,然后是记录分隔符,它应该很容易。
(标准免责声明:有许多很棒的工具以数据转换器的形式存在,它们使这项工作比让程序员重新发明轮子更简单。其中一些工具甚至是开源和免费的。只是说......)
希望这可以帮助。
实际上,x12 中没有字符集之类的东西。这取决于合作伙伴/交换协议。但由于 X12 主要在美国使用,它是 us-ascii(几乎总是)。(但是.....有些公司将 x12 作为 EBCEDIC 发送;-)))