多平台 Kotlin 中 iOS 的 Base 64 编码解码

Sun*_*uja 7 ios kotlin kotlin-multiplatform

我正在开发一个 iOS 应用程序,它使用多平台 Kotlin。我需要将字符串编码/解码为 Base64。我可以使用下面的代码对普通字符串进行编码,但无法将 Base 64 字符串解码为普通字符串。下面是我的代码。

fun encodeToBase64()  {
    var st: NSString = "normalString"
    var data: NSData? = st.dataUsingEncoding(encoding = 
    NSUTF8StringEncoding)
    if (data != null) {
        var str = data.base64EncodedStringWithOptions(options = 0)
        println("base 64 string == $str")
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢

Hui*_*uib 5

对于仍在多平台项目中寻找 Base64 编码和解码和/或散列的任何人。Okio 库具有多平台支持,可以用作 kotlin 原生解决方案。(https://square.github.io/okio/multiplatform/

fun shar256(input: String): String? = input.encodeUtf8().sha256()

 fun base64Encoded(input: String): String? = input.encodeUtf8().base64()

 fun base64Decoded(input: String): String? = input.decodeBase64()?.utf8()
Run Code Online (Sandbox Code Playgroud)