<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Verständnisproblem beim Auslesen von MP3-Tags]]></title><description><![CDATA[<p>Hallo zusammen.</p>
<p>Habe ein Programm geschrieben, mit dem ich die Tags aus MP3-Dateien lesen kann.<br />
Zunächst versuchte ich es mit fstream. Dem MP3-Aufbau zufolge, sollte z.B. die Info zum Songtitel unter dem Adressraum 3-33 der Datei zu finden sein.<br />
Mit diesem Quellcode</p>
<pre><code>ifstream mp3(&quot;D:\\Musik\\Shakira - Ojos Así.mp3&quot;, ios_base::in);

mp3.clear();
mp3.seekg(0, ios_base::beg);

while(index++ &lt; 300)
{
	mp3.get(ch);
	cout &lt;&lt; ch;
}
</code></pre>
<p>erhalte ich folgende Ausgabe:</p>
<p>ID3<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/2665.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--heart_suit"
      title=":heart_suit:"
      alt="♥"
    /> ♫$TPE1 ShakiraTALB 5 <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/263a.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--smiling_face"
      title=":smiling_face:"
      alt="☺"
    /> ■D ¾ n d e E s t ß n L o s L a d r o<br />
n e s ? TPE2 ShakiraTIT2 5 <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/263a.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--smiling_face"
      title=":smiling_face:"
      alt="☺"
    /> ■O j o s A s Ý ( S i n g l e V e r s<br />
i o n ) TRCK <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/2660.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--spade_suit"
      title=":spade_suit:"
      alt="♠"
    /> 13/13TSSE Z Audiograbber 1.83.01, LAME dll 3.96, VBR 2 (D<br />
efault method), Joint Stereo, Normal quality</p>
<p>Aber der Adressraum 3-33 enthält doch, diesem Printout zufolge, nicht den Songtitel.</p>
<p>Habe es danach mit CreateFile, SetFilePointer und ReadFile realisieren können. Danach war auch der Songtitel und alles Andere unter dem angegebenen Adressräumen zu finden. Verstehe aber jetzt nicht, warum.</p>
<p>Kann mir das vielleicht einer erklären?</p>
<p>Danke Euch im Voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/169689/verständnisproblem-beim-auslesen-von-mp3-tags</link><generator>RSS for Node</generator><lastBuildDate>Tue, 07 Jul 2026 07:58:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/169689.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 07 Jan 2007 20:36:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Verständnisproblem beim Auslesen von MP3-Tags on Sun, 07 Jan 2007 20:36:43 GMT]]></title><description><![CDATA[<p>Hallo zusammen.</p>
<p>Habe ein Programm geschrieben, mit dem ich die Tags aus MP3-Dateien lesen kann.<br />
Zunächst versuchte ich es mit fstream. Dem MP3-Aufbau zufolge, sollte z.B. die Info zum Songtitel unter dem Adressraum 3-33 der Datei zu finden sein.<br />
Mit diesem Quellcode</p>
<pre><code>ifstream mp3(&quot;D:\\Musik\\Shakira - Ojos Así.mp3&quot;, ios_base::in);

mp3.clear();
mp3.seekg(0, ios_base::beg);

while(index++ &lt; 300)
{
	mp3.get(ch);
	cout &lt;&lt; ch;
}
</code></pre>
<p>erhalte ich folgende Ausgabe:</p>
<p>ID3<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/2665.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--heart_suit"
      title=":heart_suit:"
      alt="♥"
    /> ♫$TPE1 ShakiraTALB 5 <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/263a.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--smiling_face"
      title=":smiling_face:"
      alt="☺"
    /> ■D ¾ n d e E s t ß n L o s L a d r o<br />
n e s ? TPE2 ShakiraTIT2 5 <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/263a.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--smiling_face"
      title=":smiling_face:"
      alt="☺"
    /> ■O j o s A s Ý ( S i n g l e V e r s<br />
i o n ) TRCK <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/2660.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--spade_suit"
      title=":spade_suit:"
      alt="♠"
    /> 13/13TSSE Z Audiograbber 1.83.01, LAME dll 3.96, VBR 2 (D<br />
efault method), Joint Stereo, Normal quality</p>
<p>Aber der Adressraum 3-33 enthält doch, diesem Printout zufolge, nicht den Songtitel.</p>
<p>Habe es danach mit CreateFile, SetFilePointer und ReadFile realisieren können. Danach war auch der Songtitel und alles Andere unter dem angegebenen Adressräumen zu finden. Verstehe aber jetzt nicht, warum.</p>
<p>Kann mir das vielleicht einer erklären?</p>
<p>Danke Euch im Voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1205251</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1205251</guid><dc:creator><![CDATA[_Bongo]]></dc:creator><pubDate>Sun, 07 Jan 2007 20:36:43 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem beim Auslesen von MP3-Tags on Sun, 07 Jan 2007 20:47:40 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile.php?mode=viewprofile&amp;u=18363" rel="nofollow">Jochen Kalmbach</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=4" rel="nofollow">WinAPI</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=8" rel="nofollow">Rund um die Programmierung</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39405" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1205259</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1205259</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Sun, 07 Jan 2007 20:47:40 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem beim Auslesen von MP3-Tags on Sun, 07 Jan 2007 22:11:04 GMT]]></title><description><![CDATA[<p>Ich hab mich auch mal damit rum gemüht, und am Ende hat es auch nur halb geklappt, da ein paar Mp3-Datei-Tags irgendwie nicht richtig (also standardgemäß) abgespeichert waren. Vielleicht findeste den Thread ja noch, ist aber schon lange her (im WinAPI-Forum).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1205309</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1205309</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Sun, 07 Jan 2007 22:11:04 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem beim Auslesen von MP3-Tags on Mon, 08 Jan 2007 09:03:23 GMT]]></title><description><![CDATA[<p>Äh. Was willst du lesen? ID3V1 oder ID3V2? ID3V2 ist viel viel mehr Aufwand als einfach ein paar Bytes irgendwo zu lesen. Und ein ID3V1 Tag steht AM ENDE der Datei. Nicht am Anfang.<br />
Und du solltest &quot;ios_base::in | ios_base::binary&quot; verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1205455</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1205455</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 08 Jan 2007 09:03:23 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem beim Auslesen von MP3-Tags on Thu, 11 Jan 2007 19:42:27 GMT]]></title><description><![CDATA[<p>Zunächst mal will ich nur ID3v1 auslesen. Habe meine Testdatei jetzt mit ifstream geöffnet und richtig auslesen können. Versuchte anfangs immer, die Datei von vorn auszulesen - deshalb funktionierte das nicht so, wie ich das vor hatte. Für den Tipp erstmal vielen Dank.</p>
<p>Aber was ist denn eigentlich der Unterschied zwischen &quot;normalem&quot; Auslesen einer Datei und der binäre Variante? Wird nicht eigentlich alles binär ausgelesen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1208233</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1208233</guid><dc:creator><![CDATA[_Bongo]]></dc:creator><pubDate>Thu, 11 Jan 2007 19:42:27 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem beim Auslesen von MP3-Tags on Fri, 12 Jan 2007 08:41:02 GMT]]></title><description><![CDATA[<p>Die &quot;normale&quot; Variante nennt sich Textmodus. Und dabei ersetzt C(++) die Windows-typischen \r\n-Sequenzen (für Zeilenende) durch einfache \n. Bei Textdateien ist das recht nützlich, weil man ein Einzelnes Zeichen leichter wiederfinden kann als diese Zeichensequenz. Wenn du aber binäre Dateien einlesen willst, kann dir diese Ersetzung deine Daten kaputtmachen (dort stehen \r und \n üblicherweise nicht für &quot;Zeilenwechsel&quot;, sondern für ihren ASCII-Wert 0x0A bzw. 0x0D).</p>
<p>(PS: Ich hoffe mal, die Zahlenwerte sind richtig angegeben)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1208457</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1208457</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 12 Jan 2007 08:41:02 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem beim Auslesen von MP3-Tags on Sat, 13 Jan 2007 01:15:44 GMT]]></title><description><![CDATA[<p>Das Böse am Textmodus (&quot;normal&quot;) wäre in dem Fall dass es dir die Positionen verschieben kann, weil aus 2 Byte in der Datei bloss 1 gelesenes werden kann. Alles was dahinter kommt verschiebt sich dann wenn man von Fixpositionen ausgeht (und beim ID3 Lesen macht man das).</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/8950">@_Bongo</a>:</p>
<p>Der ID3 Tag steht, wenn vorhanden (und korrekt positioniert), in den letzten 128 Byte des Files. Testen ob ein ID3v1 Tag vorhanden ist kannst du einfach indem du ihn erstmal einliest, und dann guckst ob die ersten 3 Zeichen in diesem 128 Byte Block &quot;TAG&quot; sind.</p>
<p>Die restliche Struktur kannst du hier nachlesen:</p>
<p><a href="http://www.id3.org/ID3v1" rel="nofollow">http://www.id3.org/ID3v1</a></p>
<p>Die Zeichen sind als &quot;Latin 1&quot; zu interpretieren (genau: ISO-8859-1), du kannst aber einfach Codepage 1252 verwenden, ist nahe genug dran <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Viele Programme verwenden aber auch einfach die System-Codepage, was zwar nicht Standardkonform ist, aber naja.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1209123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1209123</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sat, 13 Jan 2007 01:15:44 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem beim Auslesen von MP3-Tags on Sun, 14 Jan 2007 20:47:54 GMT]]></title><description><![CDATA[<p>Alles klar. Damit sollte ich ein gutes Stück weiterkommen.</p>
<p>Ich danke Euch vielmals für Eure helfenden Beiträge.</p>
<p>Gruß</p>
<p>_Bongo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1209927</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1209927</guid><dc:creator><![CDATA[_Bongo]]></dc:creator><pubDate>Sun, 14 Jan 2007 20:47:54 GMT</pubDate></item></channel></rss>