gpt4 book ai didi

Java Base64 解码/编码往返不会得出相同的结果

转载 作者:行者123 更新时间:2023-12-01 09:46:41 25 4
gpt4 key购买 nike

import org.junit.Test;
import java.util.Base64;
import org.junit.Assert.*;
import java.util.Random;

...

@Test
public void testEncoding(){
byte[] data = new byte[32];
new Random().nextBytes(data);
String base64 = Base64.getEncoder().encodeToString(data);
assertEquals(data, Base64.getDecoder().decode(base64));
}

@Test
public void testDecoding(){
String base64 = "ABCDEFGHIJKLRMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/A==";
byte[] data = Base64.getDecoder().decode(base64);
assertEquals(base64, Base64.getEncoder().encodeToString(data));
}

testEncoding 测试失败并出现断言错误:预期:[B@6bf2d08e实际:[B@5eb5c224我不明白为什么。

最佳答案

该缺陷存在于 then 断言中,而不是代码中。

assertEquals将比较内存中字节数组的地址assertArrayEquals 将比较字节数组的内容

关于Java Base64 解码/编码往返不会得出相同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37944770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com