将NSString转换为NSUTF32StringEncoding

时间:2014-05-22 10:12:28

标签: ios unicode nsstring emoji utf-32

我有一个内部使用UTF16编码的NSString。我想将它转换为使用UTF32,这样 or q都采用单一索引。 Currenty需要2。

怎么做?即使我可以从NSString转换为其他类型,它也会起作用。底线是让 or q在数组中使用相同数量的索引。

2 个答案:

答案 0 :(得分:1)

你有没有尝试过:

NSData *data = [string dataUsingEncoding:NSUTF32StringEncoding];

NSString *convertedString = [[NSString alloc] initWithData:data encoding:NSUTF32StringEncoding];

答案 1 :(得分:0)

您是否尝试过[[NSString alloc]initWithData:encoding:]

示例是:

NSData *data = [sourceStr dataUsingEncoding:NSUTF16StringEncoding];

从上面的数据

创建NSUTF32StringEncoded字符串
NSString *encodedStr = [[NSString alloc]initWithData:data encoding:NSUTF32StringEncoding];