我正在尝试使用 java 映射 EDIFACT 文件。
我使用的数据经过编码,看起来像这样:UNBIATB11AMS135682300687X
我期待这种格式:UNH+1+SBRRES:09:3:1A'
谁能帮我解决这个问题?
提前致谢。
我正在尝试使用 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', '\'');
或者用数据中没有的任何字符替换。这可能是他们使用那些不可显示字符的原因,因为它们保证不会出现在文本数据中。请记住,计算机并不关心角色是否可显示,只有人类才关心。