字节数组输出流转换为Base64方法记录

1. 今天在做字节数组转换Base64的时候遇到一个问题,转换成的Base64字符串自动换行,导致传输失败

关键代码:

ByteArrayOutputStream out = new ByteArrayOutputStream();

.............

BASE64Encoder encoder = new BASE64Encoder();

String base64 = encoder.encode(out.toByteArray);

此种转换方法自动带换行符,有几率导致传输失败,为JDK 自带方法,据说要弃用了

2. 更换方法

......

方法1:

String base64 = Base64.getEncoder().encodeToString(out.toByteArray);

方法2:

String base64 = Base64Utils.encodeToString(out.toByteArray());

在 .NET Core 中,我们可以使用 `Convert.ToBase64String` 方法将文件转换Base64 编码的字符串。以下是一个简单的代码示例,演示了如何将文件转换Base64 编码: ``` using (var stream = new FileStream("image.jpg", FileMode.Open)) { var buffer = new byte[stream.Length]; stream.Read(buffer, 0, (int)stream.Length); var base64String = Convert.ToBase64String(buffer); } ``` 在上面的代码中,我们首先使用 `FileStream` 类来打开一个图片文件,然后读取文件中的数据,并将数据存储到一个字节数组中。最后,我们使用 `Convert.ToBase64String` 方法字节数组转换Base64 编码的字符串。 需要注意的是,在将文件转换Base64 编码时,要确保文件的长度不要超过 `int.MaxValue`。如果文件的长度超过了该值,那么可以使用 `MemoryStream` 类来创建一个内存,将文件中的数据写入到内存中,然后再将内存转换Base64 编码的字符串。以下是一个使用 `MemoryStream` 类的代码示例: ``` using (var stream = new FileStream("image.jpg", FileMode.Open)) using (var memoryStream = new MemoryStream()) { stream.CopyTo(memoryStream); var buffer = memoryStream.ToArray(); var base64String = Convert.ToBase64String(buffer); } ``` 在上面的代码中,我们使用 `MemoryStream` 类来创建一个内存,并使用 `FileStream` 类将图片文件的数据写入到内存中。然后,我们将内存中的数据存储到一个字节数组中,并将字节数组转换Base64 编码的字符串。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值