jay*_*ubi 2 unicode objective-c nsstring ios
例如,我可以输入一个表情符号字符代码,例如:
NSString* str = @"";
NSLog(@"%@", str);
Run Code Online (Sandbox Code Playgroud)
将在控制台中看到微笑表情符号。
也许代码编辑器和编译器会在 UTF-8 中交换文字。
现在我在一个完整的 unicode 中工作,我的意思是每个字符 32 位,环境,我有表情符号的 unicode,我想将 32 位 unicode 转换为 NSString 例如:
int charcode = 0x0001F60A;
NSLog(@"%??", charcode);
Run Code Online (Sandbox Code Playgroud)
问题是我应该把什么放在“??” 位置然后我可以将字符代码格式化为表情符号字符串?
顺便说一句,charcode 是一个在编译时无法确定的变量。
我不想将 32 位 int 压缩为 UTF-8 字节,除非这是唯一的方法。
如果0x0001F60A是在运行时确定的动态值,则可以使用该NSString方法
- (instancetype)initWithBytes:(const void *)bytes length:(NSUInteger)len encoding:(NSStringEncoding)encoding;
Run Code Online (Sandbox Code Playgroud)
创建一个包含具有给定 Unicode 值的字符的字符串:
int charcode = 0x0001F60A;
uint32_t data = OSSwapHostToLittleInt32(charcode); // Convert to little-endian
NSString *str = [[NSString alloc] initWithBytes:&data length:4 encoding:NSUTF32LittleEndianStringEncoding];
NSLog(@"%@", str); //
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
644 次 |
| 最近记录: |