音楽(m4a)ファイルからメタデータを読み込もうとしています。私は、メタデータに到達するためにファイルをナビゲートする方法をうまく理解しました。ファイル形式に関するドキュメントは出にくいですが、私が見つけたところでは、メタデータのエンコーディングはUTF-8であると主張しています。Windowsテキストエンコーディング質問
ここに私の髪を引っ張っている私の問題です。 Visual Basic 2008を使用してファイルにアクセスし、データを読み込みます。 BinaryStreamReaderメソッドを使用してファイルにアクセスします。しかし、メタデータタグとメタデータ自体を扱うエンコーディング設定を見つけることはできません。以下は、私が扱っているデータのサンプルの16進文字列です。
00 00 00 21 A9 6E 61 6D 00 00 00 19 64 61 74 61 00 00 00 01 00 00 00 47(c)C3 B3 73 C3 B3 6C 69
最後の9つのバイトは、トラックの名前でありますGlósóliと呼ばれています。間違いなくUTF-8です。エンコードをUTF-8に設定すると、この値を正しく取得して表示できます。しかし、4文字のメタタグ名A9 6E 61 6Dは、©namの代わりに「正方形のボックス」の名前として取得されます。エンコードをWindows-1252に変更すると、正しく正確に取得されますが、トラック名は不器用です! UTF-8エンコーディングが0xA9バイトを正しく認識しない理由を教えてください。 私はメモ帳++の©namとGlósóliに同じ2文字列を見ても同様の結果が得られることに気付きました。 FormatがUTF-8でEncodeに設定されている場合、©文字は表示されません。 FormatがANSIIに設定されている場合、トラック名は正しくありません。私は希望の結果を表示する設定を見つけることができません。私は答えが明らかだと確信しているが、私はそれを見ていない。 すべてのヘルプや説明が大幅に私はすべての最新のパッチ
でWindows XPを実行しているをいただければ幸いです
マイク