Base64编码和解码,乱码

 

1.编码

 

1.1. 编码内容截图

Base64编码和解码,乱码_第1张图片

1.2. 进行编码代码

import java.util.Base64; 导入java util包


 public static void main(String[] args) {
        String content = "这是需要编码的一些内容1";
        //Base64编码
                Base64.Encoder encoder = Base64.getEncoder();
        //根据指定字符编码对数据进行Base64编码
        try {
            String encodeContent = encoder.encodeToString(content.getBytes("UTF-8"));
            System.out.println("Base64编码后的内容为:"+encodeContent);
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
    }

1.3. 输出编码结果

Base64编码和解码,乱码_第2张图片

 

2.解码

 

2.1.解码内容截图

采用上面1.加密过的内容进行解码

Base64编码和解码,乱码_第3张图片

2.2.解码代码

 public static void main(String[] args) {
        String b="6L+Z5piv6ZyA6KaB57yW56CB55qE5LiA5Lqb5YaF5a65MQ==";
        try {
            Base64.Decoder decoder = Base64.getDecoder();
            byte[] bytes = decoder.decode(b);
            String text = new String(bytes,"UTF-8");
            System.out.println("这是解码之后的内容:"+text);

        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
    }

2.3. 输出解码结果

Base64编码和解码,乱码_第4张图片

 

3.编码乱码

 

若是进行加密的字符编码为UTF-8,而解码的字符编码为GBK,则将会发生乱码

如:

Base64编码和解码,乱码_第5张图片

输出结果:

Base64编码和解码,乱码_第6张图片

所以在进行编码解码的时候采用相同的字符编码,避免出现中文乱码

你可能感兴趣的:(JAVA,编码)