IOS encodes a string in unicode

I have a string in which there are English letters and Japanese characters. I need to convert Japanese characters to Unicode before transferring data to our server. I found many topics to convert to UTF-8, but I did not find anything when it comes to converting to Unicode.

Note: I also notice that if I put a string in an array and use NSLog to print the array, the Japanese text will be printed in Unicode.

NSString *data = @"a恕";
NSArray *array = [NSArray arrayWithObjects: data, other data..., nil];
NSLog(@"%@", array);

This will print: "a \ U3055" for my string data inside the array.

+3
source share
2 answers
NSData *dataenc = [data dataUsingEncoding:NSNonLossyASCIIStringEncoding];
NSString *encodevalue = [[NSString alloc]initWithData:dataenc encoding:NSUTF8StringEncoding];
+15
source
-(NSString *)StringWithData:(NSString *)Encoded {

NSString *decoded = (__bridge_transfer NSString *)CFURLCreateStringByReplacingPercentEscapesUsingEncoding(NULL, (CFStringRef)Encoded, CFSTR(""), kCFStringEncodingUTF8);
return [decoded stringByReplacingOccurrencesOfString:@"+" withString:@" "];
}

- (NSString *)EncodceStringWithData:(NSString *)Encoded {

NSString *urlEncoded = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes( NULL, (CFStringRef)Encoded, NULL, (CFStringRef)@"!*'\"();:@&=+$,/?%#[]% ", kCFStringEncodingUTF8));
return [urlEncoded stringByReplacingOccurrencesOfString:@"%20" withString:@"+"];
}
0
source

All Articles