0

皆さん、このコードを Java の C# に変換する必要があります。手を貸していただけますか?

private static String ConvertStringToHexStringByteArray(String input) {
        Encoding ebcdic = Encoding.GetEncoding("IBM037");
        Encoding utf8 = Encoding.UTF8;
        byte[] utfBytes = utf8.GetBytes(input);
        byte[] isoBytes = Encoding.Convert(utf8, ebcdic, utfBytes);
        StringBuilder hex = new StringBuilder(isoBytes.length * 2);
        foreach( byte b in isoBytes)
        hex.AppendFormat("{0:x2}", b);
        return hex.ToString();

    }

このようにJavaに変換してみました。しかし、結果は異なります。

private static String ConvertStringToHexStringByteArray(String input) throws UnsupportedEncodingException {

        byte[] isoBytes = input.getBytes("IBM037");
        StringBuilder hex = new StringBuilder(isoBytes.length * 2);

        for (byte b : isoBytes) {
            hex.append(String.format("%02x", b));
        }
        return hex.toString();

    }

input = "X1GRUPPO 00000000726272772"
expected = "e7f1c7d9e4d7d7d64040404040f0f0f0f0f0f0f0f0f1f6f7f3f5f3f5f5f2"
result = "e7f1c7d9e4d7d7d640f0f0f0f0f0f0f0f0f7f2f6f2f7f2f7f7f2"

私は何を間違っていますか?

4

1 に答える 1