-3
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");

但它不工作。

4

1 回答 1

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;
    }
}
于 2013-05-24T19:39:43.067 回答