我使用的代码如下:
AVMetadataItem *item = [self.player.metaData objectAtIndex:0];
NSLog("%@", item.stringValue);它对任何英文歌名都有很好的效果。但是,当我从AVMetadataItem上得到俄语歌名的时候:
ÐÐÐÐÐ ÐЯ - ÐРСÐÐ ÐÐÐТÐÐУ // СÐУШÐЮТ: 1585我怎样才能得到类似这样的东西:
Тратата - мы везем с собой кота.感谢您的帮助。
发布于 2015-11-24 20:46:57
试试这个:
NSData *test = [item.stringValue dataUsingEncoding:NSISOLatin1StringEncoding allowLossyConversion:YES];
NSString *dataString = [[NSString alloc] initWithData:test encoding:NSUTF8StringEncoding];我们从UTF8中的音频中获取元数据,并且不知道它是在什么NSStringEncoding中转换的,所以我使用:
for (i = 0; i < 15; i++) {
NSData *test = [item.stringValue dataUsingEncoding:i allowLossyConversion:YES];
NSString *dataString = [[NSString alloc] initWithData:test encoding:NSUTF8StringEncoding];
}看起来像在ISOLatin中编码西里尔字母(UTF8)的iOS。
https://stackoverflow.com/questions/24707266
复制相似问题