数据来自IBM大型机界面。需要将对象消息转换为String以进行进一步处理。
public EventBody processICMessage(final Object incomingMsg) throws Exception
{
String inMsg = "";
if (incomingMsg instanceof String)
{
inMsg = (String) incomingMsg;
}
else
{
byte[] incomingMsgArr = (byte[]) incomingMsg;
inMsg = new String((byte[]) incomingMsg, "UTF-8");
}
}
首先编码是Cp1047,它无法处理变音字符。提到数据包括德语变音字符,如ä,c̈,p̈等。为了支持变音字符,我们将编码改为UTF-8,这导致'imMsg'字符串中出现空白数据。因此,ArrayIndexOutOfBoundException将用于进一步的子串操作。