如果是 android,一切都运行良好。我也想在 iOS 中实现相同的功能,但获得不同的值。请检查下面的图片说明。
在 Java/Android 案例中:
我尝试在 java 中将字符串转换为 base64 字节数组
byte[] data1 = Base64.decode(balance, Base64.DEFAULT);
在 Swift3/iOS 案例中:
我尝试在 swift 中将字符串转换为 base64 字节数组
let data:Data = Data(base64Encoded: balance, options: NSData.Base64DecodingOptions(rawValue: 0))!
let data1:Array = (data.bytes)
最佳答案
终于解决了:
这是由于有符号和无符号整数,意思是无符号与有符号(所以 0 到 255 和 -127 到 128)。在这里,我们需要将 UInt8 数组转换为 Int8 数组,这样问题就解决了。
let intArray = data1.map { Int8(bitPattern: $0) }
关于ios - 在 swift 和 java 中将字符串转换为 base64 字节数组给出不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47865148/