Android 的 Base 64 NO_WRAP 选项在 swift 的 Base 64 中是否等效?
在安卓中: hash = Base64.encodeToString(message.getBytes()), Base64.NO_WRAP);
参见下面的 NO_WRAP 选项: https://developer.android.com/reference/android/util/Base64.html
在 iOS 中,使用 NO_WRAP 选项将 HEX 字符串转换为 Base 64 的 swift 等效项是什么?
最佳答案
在文档中:
因此在编码时完全不指定任何选项以避免添加任何行结束字符,并在解码时指定 ignoreUnknownCharacters
以忽略行结束字符。
第 1 步:Hex String to Data is a separate StackOverflow question (但是你应该避免使用十六进制字符串,这是对字节的巨大浪费!)
第二步:数据转base64数据或base64字符串(二选一)
// By default, no line endings are inserted: https://developer.apple.com/reference/foundation/nsdata/1412739-base64encodeddata
let encodedAsData = data.base64EncodedData()
// By default, no line endings are inserted: https://developer.apple.com/reference/foundation/nsdata/1413546-base64encodedstring
let encodedAsString = data.base64EncodedString()
关于iOS Swift 使用 NO_WRAP 选项将 HEX 字符串转换为 Base64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41754462/