gpt4 book ai didi

java - 如何在Java中将int数组转换为base64字符串?

转载 作者:行者123 更新时间:2023-12-01 07:48:29 25 4
gpt4 key购买 nike

如何转换此数组:

int[] ints = { 233, 154, 24, 196, 40, 203, 56, 213, 242, 96, 133, 54, 120, 146, 46, 3 };

到这个字符串?

String base64Encoded = "6ZoYxCjLONXyYIU2eJIuAw==";

用法:

String base64Encoded  = ConvertToBase64(int[] ints);

(我问这个问题是因为 Java 中的 byte 是有符号的,但 C# 中的 byte 是无符号的)

最佳答案

问题可以分解为两个简单的步骤: 1. 将 int 数组转换为 byte 数组。 2. 将字节数组编码为base4。

这是一种方法:

public static String convertToBase64(int[] ints) {
ByteBuffer buf = ByteBuffer.allocate(ints.length);
IntStream.of(ints).forEach(i -> buf.put((byte)i));
return Base64.getEncoder().encodeToString(buf.array());
}

更老派的方法:

public static String convertToBase64(int[] ints) {
byte[] bytes = new byte[ints.length];
for (int i = 0; i < ints.length; i++) {
bytes[i] = (byte)ints[i];
}
return Base64.getEncoder().encodeToString(bytes);
}

View running code on Ideone.com

关于java - 如何在Java中将int数组转换为base64字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44059116/

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