【发布时间】:2012-03-27 11:11:18
【问题描述】:
如何将十六进制值转换为表情符号,我有一个如下所示的字符串
NSString *myVal = @"1F61E";
如何转换此文本以将其显示为表情符号字符?
我找到了 from this link 的值 请告诉我,我真的很纠结这个问题
Updated
NSString *utf8String1 = @"1F61E";
NSString *a = [self convert:utf8String1];
NSLog(@"%@ &&&&&&&&&&&&&&&&&&&&&",a);
-(NSString*)convert:(NSString*)decoded{
unichar unicodeValue = (unichar) strtol([decoded UTF8String], NULL, 16);
char buffer[2];
int len = 1;
if (unicodeValue > 127) {
buffer[0] = (unicodeValue >> 8) & (1 << 8) - 1;
buffer[1] = unicodeValue & (1 << 8) - 1;
len = 2;
} else {
buffer[0] = unicodeValue;
}
return [[NSString alloc] initWithBytes:buffer length:len encoding:NSUTF8StringEncoding];
}
【问题讨论】:
-
在 SO 上查看这个答案,这正好解释了这一点:stackoverflow.com/questions/1775859/…
标签: iphone objective-c ios ios4