我正在尝试使用java映射EDIFACT文件。
我使用的数据是经过编码的,它看起来像这样: UNBIATB11AMS135682300687X
我期望的格式是: UNH+1+SBRRES:09:3:1A‘
有没有人能帮我解决这个问题?
提前谢谢。
发布于 2018-01-10 18:26:10
您的文本似乎包含0x1D、0x1F和0x1C字符。
如果将0x1D替换为+,将0x1F替换为:,将0x1C替换为',则会得到:
UNB+IATB:1+1A+MS+13568:230+0687+++X'
您可能不应该替换,而是简单地使用这些不可显示的字符进行解析,但如果您需要displayable,您可以这样做:
s = s.replace('\u001D', '+').replace('\u001F', ':').replace('\u001C', '\'');或者替换为数据中没有的任何字符。这可能是他们使用这些不可显示字符的原因,因为它们肯定不会出现在文本数据中。请记住,计算机并不关心一个字符是否可显示,只有人类才会。
https://stackoverflow.com/questions/48185010
复制相似问题