I have a unicode hex value in an NSString – how do I output the character; here’s what I have:
NSLog(@"\U0001D000");
NSMutableString *hexString = [[NSMutableString alloc] initWithString:@"0001D000"];
[hexString insertString:@"\\U" atIndex:0];
NSLog(@"%@", hexString);
The first NSLog outputs the character; the second just produces the output “\U0001D000”
I’ve tried lots of combinations and am at a loss – for example, I tried
NSLog(@"\U%@", hexString);
But this gives a complier error, as it is looking for a string of numbers after the \U
If your character requires a surrogate pair (U+10000 to U+10FFFF), use
CFStringGetSurrogatePairForLongCharacterto convert the Unicode code point into a UTF-16 surrogate pair, and then-initWithCharacters:length:to convert it into an NSString. For example:For other characters (
CFStringGetSurrogatePairForLongCharacterreturnsFALSE), you can skip the conversion and go straight to-initWithCharacters:length:.