swift - 为什么 Base 64 编码不起作用?

标签 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)

最佳答案

  1. 我不建议使用encodeString作为类型为 NSData(不是字符串)的变量名称。
  2. 函数base64EncodedDataWithOptions返回 NSData。如果你想要像 bXkgcGxhbmkgdGV4dA== 这样的字符串,您可以使用base64Encoded<b>String</b>WithOptions .

关于swift - 为什么 Base 64 编码不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37428479/

相关文章:

swift - 初学者 Swift 3 数据验证

swift ,两个问题。 1) weak var 2) @IBOutlet 的 bang 运算符

ios - Parse PushError 141 invalid function 云代码

javascript - 如何将base64写入模型的FileField?

php - Base64 电子邮件附件未上传

PHP 邮件标题 "base64 encoded unnecessarily"

ios - 如何将文本字段中的字符串转换为 NSDate 类型?

swift - 共享 NSUserDefaults plist 文件?

使用 localStorage 进行 JavaScript 字符串压缩

java - Base64 编码在 linux CentOS 终端和 Java 中给出不同的结果