Base64 encode and decode example code

后端 未结 12 938
遥遥无期
遥遥无期 2020-11-22 15:00

Does anyone know how to decode and encode a string in Base64 using the Base64. I am using the following code, but it\'s not working.

String source = \"passwo         


        
12条回答
  •  难免孤独
    2020-11-22 15:34

    First:

    • Choose an encoding. UTF-8 is generally a good choice; stick to an encoding which will definitely be valid on both sides. It would be rare to use something other than UTF-8 or UTF-16.

    Transmitting end:

    • Encode the string to bytes (e.g. text.getBytes(encodingName))
    • Encode the bytes to base64 using the Base64 class
    • Transmit the base64

    Receiving end:

    • Receive the base64
    • Decode the base64 to bytes using the Base64 class
    • Decode the bytes to a string (e.g. new String(bytes, encodingName))

    So something like:

    // 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");
    

    Or with 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);
    

提交回复
热议问题