获取NSString的Unicode点并将其放入另一个NSString

cit*_*spi 4 unicode cocoa objective-c nsstring

什么是从中获取Unicode值的最简单方法NSString?例如,

NSString *str = "A";
NSString *hex;
Run Code Online (Sandbox Code Playgroud)

现在,我想将值设置为hexUnicode值str(即0041)......我将如何做到这一点?

Tom*_*mmy 6

unichar类型被定义为一个16位的Unicode值(例如,如间接在记录的%C说明符的描述),并且可以得到一个unichar从给定位置中的NSString使用characterAtIndex:,或使用getCharacters:range:如果要填充一个C一系列的unichars NSString比从一个接一个查询它们更快.

NSUTF32StringEncoding也是一个有效的字符串编码,以及一些特定于字节序的变体,以防你想要绝对的未来证明.你会得到一个使用更长途的C数组getBytes:maxLength:usedLength:encoding:options:range:remainingRange:.

编辑:所以,例如

NSString *str = @"A";

NSLog(@"16-bit unicode values are:");
for(int index = 0; index < [str length]; index++)
    NSLog(@"%04x", [str characterAtIndex:index]);
Run Code Online (Sandbox Code Playgroud)