【发布时间】:2019-10-21 18:55:08
【问题描述】:
在我的 Java 应用程序中,我将 TIBCO RV 消息以字节形式归档到文件中。
我正在编写一个可以回放消息的小型实用程序。这样我就可以从字节中创建一个 TibrvMsg 对象,而无需解析文件并手动构造对象。
我遇到的问题是我正在读取在 Linux 机器上创建的文件,并试图在 Windows 机器上运行我的应用程序。由于文件写入的字符集不同,我收到一个错误。
所以现在,我要做的是将每条消息记录在一个特定的字符集 (UTF-8) 中,这样我就不用关心我在哪个平台上运行我的播放应用程序了。应用程序应该只读取文件就知道事先写入文件的字符集。我计划为此使用 java.nio 包,将字节从一个字符集转换为另一个字符集。
我是否需要知道 TIBRV 消息字节编码的字符集以进行转换?如果是这样,我怎样才能找到它?
【问题讨论】:
-
继续前进并改变了我记录数据的方式。消息以键值对的形式出现,两者都是基于字符串的。我继续以 UTF-8 格式编写消息,并假设在转换过程中数据不会丢失。回放时,我将只解析键值对,并通过一一设置每个键值对来手动构建对象。这是目前最直接和最暴力的解决方案。谢谢大家的帮助。大家的回答让我大开眼界。
标签: java character-encoding nio tibco