为什么base 64编码不起作用?

时间:2016-05-25 05:29:42

标签: swift base64

我正在尝试将用户名和密码发布到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)

2 个答案:

答案 0 :(得分:0)

  1. 我不建议将encodeString用作类型为NSData(不是字符串)的变量名。
  2. 函数base64EncodedDataWithOptions返回NSData。如果您想要bXkgcGxhbmkgdGV4dA==这样的字符串,可以使用base64EncodedStringWithOptions

答案 1 :(得分:0)

你应该像它一样写,

let crypt = encodeString.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0))