我正在开发带有 HSM 模块集成的 TCP/IP 应用程序。我的 JAVA 代码在 Windows 32 位/JRE 32 位/IBM Websphere 7 中运行良好,当我升级到 RedHat Linux-64 位/JRE 64 位/IBM webshere 8 时,如果我发送低于 127 长度的字符串运行良好,但超过 127 它正在返回响应。我也做了一些编码技术,但面对同样的 pblm 请指导我。
如果 commandLength = 小于 127,工作正常,但大于 127 [UTF-8 编码失败] 所以对于超过 127,我使用扩展 ascii,但它在 [UTF-8]/working 中不起作用在 windows-1252 中很好 //hsmMessage.insert(0, (char)commandLength);
char[] extended_ascii = new char[1];
byte cp437bytes[]= new byte[1];
cp437bytes[0] = (byte) commandLength;
extended_ascii = new String(cp437bytes).toCharArray(); //extended_ascii = new String(cp437bytes, "CP437").toCharArray();
hsmMessage.insert(0, extended_ascii);
谢谢