我正在尝试将用户名和密码发布到 php 脚本,它在未编码时工作正常,但我在 ios 端编码时遇到问题。当我打印 crypt 时,我得到 <64584e6c 636d3568 6257566b 59585268 50556377 4e444134 4d546335 4a6e4268 63334e33 62334a6b 5a474630 59543172 6448526e 4e6a5935 4d673d3d>
,但根据教程,我应该得到一个类似于 bXkgcGxhbmkgdGV4dA==
的字符串
var bodyData = "usernamedata=\(self.username.text!)&passworddata=\(self.password.text!)"
request.HTTPMethod = "POST"
let encodeString = (bodyData.dataUsingEncoding(NSUTF8StringEncoding)!);
let crypt = encodeString.base64EncodedDataWithOptions(NSDataBase64EncodingOptions(rawValue: 0))
request.HTTPBody = crypt
print(crypt)
最佳答案
- 我不建议使用
encodeString
作为类型为 NSData(不是字符串)的变量名称。 - 函数
base64EncodedDataWithOptions
返回 NSData。如果你想要像bXkgcGxhbmkgdGV4dA==
这样的字符串,您可以使用base64Encoded<b>String</b>WithOptions
.
关于swift - 为什么 Base 64 编码不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37428479/