有谁知道如何使用Base64在Base64中解码和编码字符串。我正在使用以下代码,但无法正常工作。
String source = "password"; byte[] byteArray = source.getBytes("UTF-16"); Base64 bs = new Base64(); //bs.encodeBytes(byteArray); System.out.println( bs.encodeBytes(byteArray)); //bs.decode(bs.encodeBytes(byteArray)); System.out.println(bs.decode(bs.encodeBytes(byteArray)));
第一:
选择一种编码。通常,UTF-8是一个不错的选择。坚持绝对对双方都有效的编码。除了UTF-8或UTF-16之外,很少使用其他东西。 传输端:
将字符串编码为字节(例如text.getBytes(encodingName))
text.getBytes(encodingName)
Base64
base64
接收端:
new String(bytes, encodingName)
所以像这样:
// Sending side byte[] data = text.getBytes("UTF-8"); String base64 = Base64.encodeToString(data, Base64.DEFAULT); // Receiving side byte[] data = Base64.decode(base64, Base64.DEFAULT); String text = new String(data, "UTF-8");
或搭配StandardCharsets:
StandardCharsets
// Sending side byte[] data = text.getBytes(StandardCharsets.UTF_8); String base64 = Base64.encodeToString(data, Base64.DEFAULT); // Receiving side byte[] data = Base64.decode(base64, Base64.DEFAULT); String text = new String(data, StandardCharsets.UTF_8);