0

現在、次のコードを使用していますが、うまく機能しません。変換できる単語はごくわずかです。

public String convert(String big5) throws java.io.UnsupportedEncodingException {
    byte[] tmp = big5.getBytes( "UTF-16BE");
    String result = "";
    for (int i=0; i<tmp.length; i++) {
        result += Integer.toHexString(((int)tmp[i]));
    }

    return result.toUpperCase();
}
4

1 に答える 1

1

これはうまくいきますか?

result += Integer.toHexString(((int)(tmp[i] & 0xFF)));

バイト値を符号なしとして扱うには、0xFF でビット単位の & を実行する必要があります。

お役に立てれば。

于 2013-04-30T17:40:15.033 に答える