ios中的表情符号到十六进制值

时间:2014-01-29 10:03:27

标签: ios emoji

我想知道如何将表情符号转换为十六进制值。这是为了笑脸有“露出脸部和微笑眼睛的笑脸”(笑脸对应于:))我应该得到“ 1F604"

2 个答案:

答案 0 :(得分:4)

这是你在找什么?

NSString *smiley = @"";

NSData *data = [smiley dataUsingEncoding:NSUTF32LittleEndianStringEncoding];
uint32_t unicode;
[data getBytes:&unicode length:sizeof(unicode)];
NSLog(@"%x", unicode);
// Output: 1f604

反方向:

uint32_t unicode = 0x1f604;

NSString *smiley = [[NSString alloc] initWithBytes:&unicode length:sizeof(unicode) encoding:NSUTF32LittleEndianStringEncoding];
NSLog(@"%@", smiley);
// Output: 

备注:两个代码示例都假设整数存储在 little-endian字节顺序中(对于运行OS X或iOS的所有当前平台都是如此)。 / p>

答案 1 :(得分:1)

Swift版本

let smiley = ""

let uni = smiley.unicodeScalars // Unicode scalar values of the string
let unicode = uni[uni.startIndex].value // First element as an UInt32

println(String(unicode, radix: 16, uppercase: true))
// Output: 1F60A