相关疑难解决方法(0)

如何在Swift中将base64String转换为String?

我从NSData的webservice响应中接收到base64String,如何在swift中将base64String转换为String?

    //Code
    var jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &err) as! NSDictionary  // Response JSON from webservice
    var base64String : String = ""
    base64String = jsonResult["Base64String"] as! String  // Retrieve base64String as string from json response
    println("Base64String Alone: \(base64String)")

// Code to decode that base64String
let decodedData = NSData(base64EncodedString: base64String, options: NSDataBase64DecodingOptions(rawValue: 0))
                                    println("Decoded:  \(decodedData)")
                                    let decodedString = NSString(data: decodedData!, encoding: NSUTF8StringEncoding)
                                    println(decodedString) // Prints nil
Run Code Online (Sandbox Code Playgroud)

base64String的编码和解码适用于仅包含文本的文件,如果文件包含某些表格格式/图像,则编码和解码都会产生无效的base64String.如何将文件转换为base64String编码和解码文件的内容?文件格式为doc,docx,pdf,txt

预谢谢任何帮助!

base64 swift

18
推荐指数
5
解决办法
3万
查看次数

在Swift中解码JSON Web令牌

尝试在Swift中解码JWT有效负载并且遇到非常困难的时间

static func decodePayload(tokenstr: String) {

    //splitting JWT to extract payload
    let arr = split(tokenstr) {$0 == "."}

    //base64 encoded string i want to decode
    let base64String = arr[1] as String
    println(base64String) //eyJleHAiOjE0MjY4MjIxNjMsImlkIjoiNTUwYjA3NzM4ODk1NjAwZTk5MDAwMDAxIn0

    //attempting to convert base64 string to nsdata 
    let nsdata: NSData = NSData(base64EncodedString: base64String, options: NSDataBase64DecodingOptions(rawValue: 0))

    //decoding fails because nsdata unwraps as nil
    let base64Decoded: NSString = NSString(data: nsdata!, encoding: NSUTF8StringEncoding)!


}
Run Code Online (Sandbox Code Playgroud)

base64 ios jwt swift

8
推荐指数
1
解决办法
6718
查看次数

标签 统计

base64 ×2

swift ×2

ios ×1

jwt ×1