Swift将base64解码后的字符串返回为nil

时间:2016-09-05 09:56:42

标签: php ios swift xcode base64

我正在尝试解码Xcode(Swift)中的base64字符串,但解码总是返回nil。我已经尝试将字符串填充为4的倍数,以及使用下面这些不同的解码选项,但任何体面的长字符串(约300字)在展开时总是返回nil。

let decodedData = NSData(base64EncodedString: artitxt, options:     NSDataBase64DecodingOptions(rawValue: 0)),
        decodedString = NSString(data: decodedData!, encoding: NSUTF8StringEncoding)

    articletext.text = (decodedString) as! String

以及

let decodedData = NSData(base64EncodedString: artitxt, options:     NSDataBase64DecodingOptions.IgnoreUnknownCharacters),
        decodedString = NSString(data: decodedData!, encoding: NSUTF8StringEncoding)

    articletext.text = (decodedString) as! String

artitxt是我的数据库返回的base64编码字符串,articletext是我的视图控制器中的文本视图。字符串在放入我的SQL数据库之前由PHP编码。如果我使用base64encode.org编码相同的字符串,并在我的应用程序中解码它,则不会发生错误。那么,PHP base64encode会抛出这个错误 - 更重要的是我如何才能正确解码这个字符串呢?任何帮助将不胜感激,因为这已经成为我的一个巨大障碍。谢谢!

如果我打印decodeData,我最终得到了这个,但我没有足够的知识来理解它。

<54686520 70757270 6f736520 6f662074 68697320 6c616220 65787065 72696d65 6e742077 61732074 6f207465 73742074 68652065 66666563 74206f66 20656e7a 796d6520 636f6e63 656e7472 6174696f 6e2c2073 75627374 72617465 20636f6e 63656e74 72617469 6f6e2c20 74656d70 65726174 7572652c 20616e64 20704820 6f6e2061 6e20656e 7a796d65 92732072 61746520 6f662061 63746976 6974792e 20466f72 20656163 68207465 73742061 6e642065 61636820 74726961 6c207765 20757365 6420686f 6c652070 756e6368 65642070 69656365 73206f66 2066696c 74657220 70617065 722e2054 68657365 20706965 63657320 6f662066 696c7465 72207061 70657220 77657265 20746865 6e207461 6b656e20 6f6e6520 6279206f 6e652077 69746820 666f7263 65707320 616e6420 696d6d65 72736564 20696e74 6f206f75 72206361 74616c61 73652c20 706f7461 746f2065 6e7a796d 65206578 74726163 742c2066 6f722035 20736563 6f6e6473 2e205468 65206669 6c746572 20706170 65722077 61732074 68656e20 626c6f74 74656420 61676169 6e737420 61207061 70657220 746f7765 6c20666f 72203130 20736563 6f6e6473 20616e64 20707573 68656420 746f2074 68652062 6f74746f 6d2e204f 6e65206f 66207468 65207072 6f647563 7473206f 66207468 65207265 61637469 6f6e2074 68617420 666f726d 73206973 206f7879 67656e20 6761732c 20776869 63682063 61757365 73207468 65206669 6c746572 20706170 65722074 6f207269 73652074 6f207468 6520746f 70206166 74657220 61206365 72746169 6e20616d 6f756e74 206f6620 74696d65 2e205765 20726563 6f726465 64207468 61742074 696d6520 616e6420 64696420 31206469 76696465 64206279 2074696d 6520746f 2066696e 64207468 65207261 7465206f 66206163 74697669 74792e20 466f7220 6d792067 726f7570 92732074 6573742c 20776520 74657374 65642074 68652065 66666563 74206f66 20737562 73747261 74652063 6f6e6365 6e747261 74696f6e 206f6e20 72617465 206f6620 61637469 76697479 2e205765 20696e63 72656173 65642073 75627374 72617465 20285065 726f7869 64652920 636f6e63 656e7472 6174696f 6e206265 74776565 6e203020 616e6420 33207065 7263656e 7420696e 20313030 206d4c20 6265616b 65727320 6f766572 20382064 69666665 72656e74 20747265 61746d65 6e747320 616e6420 636f6e63 6c756465 64207468 61742061 73207375 62737472 61746520 636f6e63 656e7472 6174696f 6e20696e 63726561 7365732c 20726174 65206f66 20616374 69766974 7920696e 63726561 7365732e 20466f72 20656e7a 796d6520 636f6e63 656e7472 6174696f 6e207765 20636f6e 636c7564 65642074 68617420 616e2069 6e637265 61736520 696e2063 6f6e6365 6e747261 74696f6e 20636175 73657320 616e2069 6e637265 61736520 696e2072 61746520 6f662061 63746976 6974792e 20466f72 20704820 77652063 6f6e636c 75646564 20746861 74206f70 74696d75 6d207048 20666f72 20746865 20686967 68657374 20726174 65206f66 20616374 69766974 79207065 616b7320 61742037 20616e64 20392028 6d617920 68617665 20657272 6f72292e 20466f72 2074656d 70657261 74757265 20776520 636f6e63 6c756465 64207468 61742074 6865206f 7074696d 616c2074 656d7065 72617475 72652069 73206172 6f756e64 20333720 64656772 65657320 63656c73 6975732c 20776869 63682069 73207468 65206875 6d616e20 626f6479 2074656d 70657261 74757265 2e202045 6e7a796d 65732061 72652070 726f7465 696e7320 74686174 20636174 616c7973 65207265 61637469 6f6e7320 62792070 726f7669 64696e67 20616e20 61637469 76652073 69746520 666f7220 73756273 74726174 6573>

0 个答案:

没有答案