有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用JAVA编码EDIFACT映射

我正在尝试使用java映射EDIFACT文件

我使用的数据是经过编码的,如下所示: Unbitb11am135682300687x

我期待这种格式: UNH+1+SBRRES:09:3:1A'

有人能帮我弄清楚吗

提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    您的文本似乎包含0x1D0x1F0x1C个字符

    如果用+替换0x1D,用:替换0x1F,用'替换0x1C,您会得到:

    UNB+IATB:1+1A+MS+13568:230+0687+++X'

    您可能不应该替换,而应该简单地使用那些不可显示的字符进行解析,但是如果您需要可显示的字符,您可以这样做:

    s = s.replace('\u001D', '+').replace('\u001F', ':').replace('\u001C', '\'');
    

    或者替换为数据中没有的字符。这可能就是他们使用这些不可显示字符的原因,因为它们保证不会出现在文本数据中。记住,计算机不在乎一个角色是否可以显示,只有人类才在乎