2013-09-16 27 views
8

Otrzymałem niektóre dane w formacie base64string od JSON pasring w iphone. Teraz chcę dane do przechowywania lub dekodowania w String. Mam użytkownika klasy Base64. Zwraca mi wartość null. więc proszę mi pomóc!jak odkodować ciąg base64 do NSString w ios?

+0

Pokaż nam swój kod. – Amar

+0

Bardzo proste pytanie) –

Odpowiedz

26

Mam nadzieję, że będzie to pomocne dla Ciebie

NSString *decodeString = @"Raja"; 

Koduje String

NSData *encodeData = [decodeString dataUsingEncoding:NSUTF8StringEncoding]; 
NSString *base64String = [encodeData base64EncodedStringWithOptions:0]; 
NSLog(@"Encode String Value: %@", base64String); 

Decode String

NSData *decodedData = [[NSData alloc] initWithBase64EncodedString:base64String options:0]; 
NSString *decodedString = [[NSString alloc] initWithData:decodedData encoding:NSUTF8StringEncoding]; 
NSLog(@"Decode String Value: %@", decodedString); 
+1

Po prostu miłe przypomnienie, ta metoda to tylko iOS7. – LetBulletFlies

+0

to działa dobrze .. – MBH

+0

ten kod działa dobrze Ale w moim przypadku otrzymuję odpowiedź xml z serwera, który jest już w kodowaniu base64. Mam dekodować dane, ale kiedy używam tej metody, zwraca ona null. Czy ktoś może zaproponować mi rozwiązanie tego problemu? –

2

Spróbuj użyć jak this..First trzeba dostać Ta biblioteka base64

https://github.com/l4u/NSData-Base64

a następnie zaimportować ten plik

#import "NSData+Base64.h" 

NSData *data = [NSData dataFromBase64String:baseString]; 

NSString *convertedString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 

Mam nadzieję, że to pomaga.