java - 从 bytes[] 转换为 EBCDIC 字符串

标签 java string ibm-mq mainframe

我正在从大型机 MQ 接收字节[]。我试图将这个 bytes[] 转换为 EBCDIC 字符串。我正在使用以下内容,系统只是挂起。可能是什么问题?

new String(mqmdAccountingToken,"Cp1047");

mqmdAccountingToken 是从 MQ 接收的字节数组。我觉得我提供的字符集不正确。有没有办法识别要使用的正确字符集然后进行转换?

最佳答案

MQMD AccountingToken 字段由队列管理器设置的二进制值和字符值组成(默认行为),因此您需要将其视为二进制字段(即 byte[] 字段)而不是字符字段。

如果您确实想将其转换为某个字符字段,请将其转换为十六进制显示字符。

关于java - 从 bytes[] 转换为 EBCDIC 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24160181/

相关文章:

基于 Java 的文件归档解决方案

java - 检测到 JDK 版本 : 11. 0.8 不在允许范围内 [1.8.0-101,1.8.9999]

java - 将 GitHub 存储库文件导出到可用的 JAR 可执行文件,问题

基于通配符的php字符串比较

.net - 2538 - MQRC_HOST_NOT_AVAILABLE

java - 无法从 Activity 中调用 RecyclerView 适配器的方法

python - 如何在一个字符串中一次替换两个东西?

c# - string.ElementAt() 是 O(1) 吗?

java - 使用 WMQ API 时是否可以手动设置 JMS 属性?

activemq - JAVA - Spring Integration Flow 事务 + com.atomikos.icatch.HeurHazardException : Heuristic Exception