2

以下のコードを使用しています。

AVMetadataItem *item = [self.player.metaData objectAtIndex:0];
NSLog("%@", item.stringValue);

どんな英語の曲のタイトルでもうまく機能します。しかし、AVMetadataItem からロシア語の曲のタイトルを取得している場合:

ÐÐÐÐРÐЯ - ÐРСÐРÐÐÐТÐÐУ // СÐУШÐЮТ: 1585

どうすれば次のようなものを取得できますか:

Тратата - мы везем с собой кота.

どんな助けでも感謝します。

4

1 に答える 1

1

これを試して:

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 で iOS エンコーディングのキリル文字 (UTF8) のように見えます。

于 2015-11-24T12:46:57.367 に答える