我正在使用swift 3将Android应用程序转换为iOS。我的问题是下一个Java代码块:
String b64 = "KJT-AAAhtAvQ";
byte[] bytesCodigo = Base64.decode(b64, Base64.URL_SAFE);
System.out.Println(bytesCodigo.length) // 9
如何迅速?
由于
答案 0 :(得分:5)
通常,您只需从base-64字符串创建Data
/ NSData
,而不是字节数组。但请注意,标准Data(base64Encoded:)
没有"网址安全"引渡,所以你要替换" - "用" +"和" _"用" /"在尝试转换它之前:
let b64 = "KJT-AAAhtAvQ"
.replacingOccurrences(of: "-", with: "+")
.replacingOccurrences(of: "_", with: "/")
let data = Data(base64Encoded: b64)!
print("\(data.count)")
然后您可以将其转换为字节数组,但为什么要这样做呢?如果您告诉我们您使用此功能,我们可以提供进一步的建议。大多数寻找二进制数据的Swift函数都处理Data
个对象,而不是字节数组。