kann mir jemand sagen wie ich dieses ganz schnell feststellen kann.
Ich hatte da an ein Tool gedacht, ähnlich Audio Identifier V_0.7b3 oder EncSpot V_2.1 Pro, die mir zwar Source- und Taginformationen zurück geben nur eben diese Information nicht.
Habe heute mal mit dem Freeware Hex Editor (Tiny Hexer) eine MP3 Datei geprüft, jedoch keine Information bez. ID3v2.3 UTF-16, ID3v2.3 ISO-8859-1 oder ID3v2.4 UTF-8 finden können.
Wie sollte ich denn Deiner Meinung nach manuell prüfen?
Man sucht den Frame-Namen, zB TALB, von dessen Ende geht man 6 Byte weiter und kommt zum Encodierungsbyte (Im Prinzip das Byte bevor der eigentliche Inhalt kommt). Da steht dann eins der folgenden:
$00 ISO-8859-1 [ISO-8859-1]. Terminated with $00.
$01 UTF-16 [UTF-16] encoded Unicode [UNICODE] with BOM.
$02 UTF-16BE [UTF-16] encoded Unicode [UNICODE] without BOM.
$03 UTF-8 [UTF-8] encoded Unicode [UNICODE].
UTF-16 erkennt man auch sehr schnell, da zwischen den Buchstaben immer $00 steht (sofern sie durch 1 Byte dargestellt werden können)
Zu dem kommt nach dem Encodierungsbyte ein BOM $FF $FE
Danke für die Hilfe, die mir gut weiter geholfen hat
Ich habe mir von einer Datei vier Kopien gemacht und mit verschiedenen IDTag's bearbeitet.
Hier mal meine Übersicht:
ID3v1.mp3
6 Byte nach TALB oder Byte Position 14-16 = Bytesequenz 0000 00
ID3v2.3 ISO-8859-1.mp3
6 Byte nach TALB oder Byte Position 14-16 = Bytesequenz 0041 20
ID3v2.3 UTF-16 mit BOM.mp3
6 Byte nach TALB oder Byte Position 14-16 = Bytesequenz 01FF FE
ID3v2.4 UTF-8.mp3
6 Byte nach TALB oder Byte Position 14-16 = Bytesequenz 0341 20
Coole Sache, nur eine Frage noch
Ist es richtig das die Datei ID3v2.4 UTF-8.mp3 nicht mit BOM (Byte Order Mark) gesetzt ist Sollte die Byte Position 14-16 nicht so Aussehen:
ID3v2.4 UTF-8.mp3
6 Byte nach TALB oder Byte Position 14-16 = Bytesequenz EF BB BF ??
Da ich mit dem ID3v2.3 UTF-16 mit BOM und ID3v2.4 UTF-8 Format, bei meiner MP3 Anlage und Radio Darstellungsprobleme habe, mußte ich diese alle (ca. 7000 Files) auf das ID3v2.3 ISO-8859-1 Format anpassen Nun ist aber alles bestens
Mir ist dabei aufgefallen, dass bei Format ID3v1 und ID3v2.3 UTF-16 das 14-16 Encodierungsbyte immer gleich ist.
Aber bei dem ID3v2.3 ISO-8859-1 und ID3v2.4 UTF-8 Format ist nur das 14 Encodierungsbyte bei allen Files identisch.
Meine Frage wäre jetzt:
Warum ist bei den beiden Formaten immer nur das Encodierungsbyte 14 identisch?
Gibt es für das Encodierungsbyte 15-16 eine feste Vorgabe wie es z.B bei Format ID3v2.3 UTF-16 mit Bytesequenz FF FE eindeutig vorgegeben ist?
Wäre schön wenn ich noch einen Tipp erhalten würde
Also erstmal es gibt nur ein Enkodierungsbyte. Nach diesem kommt entweder sofort der eigentliche Inhalt oder ein BOM, der aber nur bei utf-16 verwendet wird.
Und ID3v1 mit ID3v2 zu vergleichen ist unsinnig, da sie eine völlig andere Struktur haben.
In der nächsten Version wird es auch einen Platzhalter für die Kodierung geben, dann musst du nicht mehr selber prüfen.