java - 使用 JAVA 的 EDIFACT 映射

标签 java encoding special-characters edi edifact

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

我使用的数据已编码,如下所示: UNBIATB11AMS135682300687X

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

谁能帮我解决这个问题吗?

提前致谢。

最佳答案

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

如果将 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/

相关文章:

javascript - 以安全的方式为 nodeJS 转换流设置编码

javascript - 多个特殊字符替换优化

javascript - ^ Node 脚本参数中的字符

javascript - (JavaFX WebEngine) JavaScript 到 Java 调用工作不一致

java - Netbeans 6.x 中的 2D 绘图

Python - 替换字符串中的非 ASCII 字符 (»)

C# - 文件编码问题

java - 为什么两个名义上具有相同值的浮点结果不同?

java - AsyncTASK 错误.....NetworkOnMainThreadException

使用特殊字符的 Java Restful 服务编码