3

私の質問は、私が思うに、非常に単純です:

Javaでバイトを英数字のchar配列(文字列)に変換する方法は?

これを試しましたが、netbeansでエラーが返されます:

 byte[] b = "test".getBytes("ASCII");
 String test = new String(b,"ASCII");

更新:私は実際にこのコードを使用しています:

    byte[] b = "test".getBytes("ASCII");
    MessageDigest md = MessageDigest.getInstance("SHA-256");
    String bla = new String(md.digest(b), "ASCII");

しかし、ASCIIで文字列を必要とする他のものに使用しようとすると、「これはASCIIではありません」のような次のエラーが表示されます。実はよくわかりません。

印刷しようとすると、「2Q�h/�k�����」のような奇妙なものが表示されました

よろしくお願いします。

4

2 に答える 2

1

あなたは近くにいます:

public static void main(String[] args) throws java.io.UnsupportedEncodingException { //you should throw or catch this exception
   byte[] b = "test".getBytes("ASCII"); // And you must declare a byte array
   String test = new String(b,"ASCII");

   System.out.println(test); // Will output "test"
}
于 2012-08-27T13:10:47.673 に答える
0

SHA-256編集後、特定の のハッシュを生成したいと思いますString

try {
    byte[] b = "test".getBytes("ASCII");
    MessageDigest md = MessageDigest.getInstance("SHA-256");
    byte[] hashBytes = md.digest(b);
    StringBuffer hexString = new StringBuffer();
    for (int i = 0; i < hashBytes.length; i++) {
        hexString.append(Integer.toHexString(0xFF & hashBytes[i]));
    }
    System.out.println(hexString);
} catch (Exception e) {
    e.printStackTrace();
}
于 2012-08-27T13:40:32.520 に答える