我正在尝试使用 java 映射 EDIFACT 文件。
我使用的数据已编码,如下所示: UNBIATB11AMS135682300687X
我期待这种格式: UNH+1+SBRRES:09:3:1A'
谁能帮我解决这个问题吗?
提前致谢。
最佳答案
您的文本似乎包含 0x1D
、0x1F
和 0x1C
字符。
如果将 0x1D
替换为 +
、0x1F
替换为 :
和 0x1C
> 使用 '
,您将得到:
UNB+IATB:1+1A+MS+13568:230+0687+++X'
您可能不应该替换,而只需使用那些不可显示的字符进行解析,但如果您需要可显示的字符,您可以这样做:
s = s.replace('\u001D', '+').replace('\u001F', ':').replace('\u001C', '\'');
或者替换为数据中不存在的任何字符。这可能就是他们使用这些不可显示字符的原因,因为它们保证不会出现在文本数据中。请记住,计算机并不关心字符是否可显示,只有人类才关心。
关于java - 使用 JAVA 的 EDIFACT 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48185010/