-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 に答える