【发布时间】:2014-07-11 22:01:36
【问题描述】:
我正在使用以下代码:
AVMetadataItem *item = [self.player.metaData objectAtIndex:0];
NSLog("%@", item.stringValue);
它适用于任何英文歌曲标题。 但是,当我从 AVMetadataItem 获得俄语歌曲标题时:
ÐÐÐÐÐ ÐЯ - ÐРСÐÐ ÐÐÐТÐÐУ // СÐУШÐЮТ: 1585
我怎样才能得到类似的东西:
Тратата - мы везем с собой кота.
任何帮助表示赞赏。
【问题讨论】:
-
这可能只是日志的 Xcode 问题。如果您在
UILabel或其他一些 UI 元素中显示该值会发生什么? -
UILabel 中的结果相同。试过 item.dataValue 但没有运气。
-
也许文本是以 UTF-8(或其他)编码存储的? NSString 以 UTF-16 存储所有内容。
-
试过:
for (int i = 1; i< 35; i++) { NSLog(@"%i %@", i, [[NSString alloc] initWithData:item.dataValue encoding:i]); }但总是得到 (null) 或 bplist00o3 -
试试
NSUTF16*和NSUTF32*常量(它们有大整数值)
标签: ios utf-8 nsstring nsstringencoding cyrillic