public byte[] stringToEbcdic(String s, String encoding){
String payload = null;
try {
payload = new String(s.getBytes("encoding"), "ISO-8859-1");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return payload.getBytes();
}
我应该可以像
那样调用方法byte[] b = stringToEbcdic("abcd", "IBM01140");
但它不起作用。
答案 0 :(得分:0)
payload = new String(s.getBytes("encoding"), "ISO-8859-1");
应该是
// encoding is a variable, not a string literal
payload = new String(s.getBytes(encoding), "ISO-8859-1");
然而,你正在对字符串进行一些奇怪的进一步操作。整个方法可以简化为工作版本;
public static byte[] stringToEbcdic(String s, String encoding) {
try {
return s.getBytes(encoding);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return null;
}
}