Encoding WebSphere MQ二进制文件

Encoding WebSphere MQ二进制文件,encoding,character-encoding,binary,ibm-mq,Encoding,Character Encoding,Binary,Ibm Mq,由于我使用的外部工具的性质(缺少文档),这可能是一个无法回答的问题 基本上,我使用的工具可以从队列中推拉消息,更准确地说,它推拉文件。它对文本文件非常有效,但当我尝试推拉一个二进制文件时——拉出来的文件已损坏,与原始文件相比,它的大小增加了(比率为1.33) 例如,移动zip文件将不起作用 我想这与工具配置有关,关于这个问题唯一可以更改的设置是CCSID和编码(UTF-8、Base16等),我尝试了两者,不幸的是没有成功 已尝试使用以下CCSID:655351208819 和编码:UTF-8、B

由于我使用的外部工具的性质(缺少文档),这可能是一个无法回答的问题

基本上,我使用的工具可以从队列中推拉消息,更准确地说,它推拉文件。它对文本文件非常有效,但当我尝试推拉一个二进制文件时——拉出来的文件已损坏,与原始文件相比,它的大小增加了(比率为1.33)

例如,移动zip文件将不起作用

我想这与工具配置有关,关于这个问题唯一可以更改的设置是CCSID和编码(UTF-8、Base16等),我尝试了两者,不幸的是没有成功

已尝试使用以下CCSID:655351208819 和编码:UTF-8、Base16、Base64


在每种情况下,二进制文件在从队列中取出后都会损坏,我不完全确定该工具是如何完成的,它是用Java编写的,而且我是MQ新手,所以我尝试在IBM的文档中搜索正确的选项,但我没有找到比65535和Base16更有意义的东西,但它仍然不起作用,有更多MQ经验的人能告诉我在这种情况下使用这些选项是否有意义吗?如果有,建议我可以尝试使用什么CCSID和编码来完成我上面描述的任务

确实需要更多的信息,但我怀疑您正在将消息作为文本消息放在队列中,并尝试使用编码和ccsid来正确处理它。您真的需要知道“Java”应用程序是如何实现这一点的——它是使用JMS(如JMSBytesMessage)还是基本Java(如setMessageData)

在高层,消息(MD)上有一个标题“描述”数据——MD格式字段。如果您说数据是字符串,那么MQ可以在getter请求时在代码页之间进行转换。将一个微小的二进制文件放入队列中的消息中,并使用amqsbcg或GUI浏览队列-格式的MD字段是什么?有效负载上有哪些标头-类似RFH2的标头


输入相同的代码给我们一个线索,或者至少是amqsbcg输出

格式:MQHRF2,CCSID:1208,编码:273。我想这就是我在RFH2标题中从GUILook中检索到的所有有趣的信息-其中的格式是什么?这已经解决了,该工具设计为只推送某些类型的文件,并将二进制数据转换为字符串:(,感谢帮助)。