在 Kotlin 中将 ByteArray 转换为 Base64

Convert ByteArray to Base64 in Kotlin

我正在尝试在一个用 Kotlin 编写的 Spring 项目中将 ByteArray 转换为 Base64。我检查了现有的 posts 但他们没有帮助我。实际上我正在尝试将 blob 转换为 base,但到目前为止我将 blob 转换为 byteArray,现在正在努力将 bytearray 转换为 base64。这就是我目前正在尝试的:

var inByteArray = Base64.encodeBase64(blobAsBytes)         //inByteArray : ByteArray!
var inByteArrayFormatted = Base64Utils.decode(inByteArray) //inByteArrayFormatted : ByteArray

我尝试了这个 post How do I convert a byte array to Base64 in Java? 中的内容,但它们只是编码字符串,而不是直接编码为 Base64。如何将字节数组转换为 Base64?不是编码字符串而是 Base64?

感谢您的帮助!

如果您将 Kotlin 与 Java 一起使用,则可以使用 java.util.Base64ByteArray 编码为 String。我写了一个扩展函数来做到这一点:

fun ByteArray.toBase64(): String = 
    String(Base64.getEncoder().encode(this))

// Use:
val b64 = "asdf".toByteArray().toBase64()
// YXNkZg==
val encodedUrl = Base64.getUrlEncoder().encodeToString(oriUrl.toByteArray())