我正在从大型机 MQ 接收字节[]。我试图将这个 bytes[] 转换为 EBCDIC 字符串。我正在使用以下内容,系统只是挂起。可能是什么问题?
new String(mqmdAccountingToken,"Cp1047");
mqmdAccountingToken 是从 MQ 接收的字节数组。我觉得我提供的字符集不正确。有没有办法识别要使用的正确字符集然后进行转换?
最佳答案
MQMD AccountingToken 字段由队列管理器设置的二进制值和字符值组成(默认行为),因此您需要将其视为二进制字段(即 byte[] 字段)而不是字符字段。
如果您确实想将其转换为某个字符字段,请将其转换为十六进制显示字符。
关于java - 从 bytes[] 转换为 EBCDIC 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24160181/