# welches Format beim Schreiben verwenden

**URL:** <https://community.mp3tag.de/t/welches-format-beim-schreiben-verwenden/19275>\
**Category:** Allgemein\
**Created:** [August 26, 2017, 7:28am UTC](https://community.mp3tag.de/t/welches-format-beim-schreiben-verwenden/19275 "2017-08-26T07:28:42Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![wurmeli](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/w/258eb7/32.png) [@wurmeli](https://community.mp3tag.de/u/wurmeli)\
**Post date:** [August 26, 2017, 7:28am UTC](https://community.mp3tag.de/t/welches-format-beim-schreiben-verwenden/19275/1 "2017-08-26T07:28:42Z")

</div>

Ich habe vor längerer Zeit ein Excelmakro geschrieben in dem ich meine Musikdateien einlese und pro Titel die Tags in eine Exceltabelle schreibe. Gestern habe ich diese Prozedur wieder einmal laufen lassen und festgestellt dass bei einigen neu hinzugefügten Titeln die Tags(TIT2, TALB, ...) zwischen den einzelnen Buchstaben Sonder/oder Leerzeichen sind. Das schaut dann z. B. so aus: B e a t l e s. In welchem Format muss ich die Datei in MP3TAG schreiben damit diese Zeichen verschwinden?

---

<div class="post-metadata">

**Author:** ![MP3Freak\_Peter](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/m/c68b51/32.png) [@MP3Freak\_Peter](https://community.mp3tag.de/u/MP3Freak_Peter)\
**Post date:** [August 26, 2017, 8:40am UTC](https://community.mp3tag.de/t/welches-format-beim-schreiben-verwenden/19275/2 "2017-08-26T08:40:03Z")

</div>

"B e a t l e s" passiert wenn du utf16 als ansi ließt (weil es für Zeichen \< 7F immer 00h 00h .... abgelgt ist).  
Das excel utf16 lesen kann, sollte dein exportmarkro sollte die datei aber mit der UTF16BOM beginnen, dann musst du aber auch alles in UTF16 ausgeben.

Poste doch mal dein Makro, dann kann dir hier sicher jemand helfen.

Btw: gibt dir MP3Tag das Encoding raus?

---

<div class="post-metadata">

**Author:** ![wurmeli](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/w/258eb7/32.png) [@wurmeli](https://community.mp3tag.de/u/wurmeli)\
**Post date:** [August 26, 2017, 9:26am UTC](https://community.mp3tag.de/t/welches-format-beim-schreiben-verwenden/19275/3 "2017-08-26T09:26:07Z")

</div>

> [@MP3Freak\_Peter](#):
>
> "B e a t l e s" passiert wenn du utf16 als ansi ließt (weil es für Zeichen \< 7F immer 00h 00h .... abgelgt ist).  
> Das excel utf16 lesen kann, sollte dein exportmarkro sollte die datei aber mit der UTF16BOM beginnen, dann musst du aber auch alles in UTF16 ausgeben.
> 
> Poste doch mal dein Makro, dann kann dir hier sicher jemand helfen.
> 
> Btw: gibt dir MP3Tag das Encoding raus?

Danke für die Antwort, so schaut die eingelesen mp3-Datei in VisualBasic aus. Zuerst eine "gute" und dann eine mit Sonderzeichen dazwischen:

_ **Edit: Removed binary data from post, please use screenshots for such data** _

Teil vom Makrocode:

.  
.  
.  
Worksheets(1).Select '--\>Liste der mp3-Dateien  
LastFile = Cells(Rows.Count, 1).End(xlUp).Row

For FoundFiles = 2 To LastFile

```
Filename = Worksheets(1).Range("A" & FoundFiles) & Worksheets(1).Range("B" & FoundFiles)
OpenZeileMusik = FreeFile

Open Filename For Binary As #OpenZeileMusik
    FileContent = String(1024, "*")
    Get #OpenZeileMusik, , FileContent
Close #OpenZeileMusik

Debug.Print FileContent
ID3Position = 11
ID3Tag = Mid(FileContent, ID3Position)

While ID3Position < Len(FileContent)
    ID3Frame = Left(ID3Tag, 4)
    ID3Tag = Mid(ID3Tag, 12)

    ID3Länge = Mid(FileContent, ID3Position + 4, 4)
    ID3FrameLänge = Asc(Mid(ID3Länge, 1, 1)) * &H200000
    ID3FrameLänge = ID3FrameLänge + Asc(Mid(ID3Länge, 2, 1)) * &H4000
    ID3FrameLänge = ID3FrameLänge + Asc(Mid(ID3Länge, 3, 1)) * &H80
    ID3FrameLänge = ID3FrameLänge + Asc(Mid(ID3Länge, 4, 1))

    Worksheets(2).Select
    Select Case ID3Frame
        Case Is = "TIT2" 'Titel
        Range("A" & FoundFiles) = Mid(FileContent, ID3Position + 11, ID3FrameLänge - 1)
    
        Case Is = "TPE1" 'Interpret
        Range("B" & FoundFiles) = Mid(FileContent, ID3Position + 11, ID3FrameLänge - 1)
    
        Case Is = "TALB" 'Album
        Range("C" & FoundFiles) = Mid(FileContent, ID3Position + 11, ID3FrameLänge - 1)
    
        Case Is = "TCON" 'Genre
        Range("D" & FoundFiles) = Mid(FileContent, ID3Position + 11, ID3FrameLänge - 1)
    
        Case Is = "TCOM" 'Komponist
        Range("E" & FoundFiles) = Mid(FileContent, ID3Position + 11, ID3FrameLänge - 1)
    
        Case Is = "TSOT" 'Titelsort
        Range("F" & FoundFiles) = Mid(FileContent, ID3Position + 11, ID3FrameLänge - 1)
    
        Case Is = "TSOA" 'Albumsort
        Range("G" & FoundFiles) = Mid(FileContent, ID3Position + 11, ID3FrameLänge - 1)
    
        Case Is = "TCMP" 'Compilation
        Range("H" & FoundFiles) = Mid(FileContent, ID3Position + 11, ID3FrameLänge - 1)
    
        Case Else
        If ID3Frame Like "[A-Z]" Then
            Range("I" & FoundFiles) = ID3Frame
        End If
        GoTo Weiter
    End Select

    ID3Position = ID3Position + 11 + ID3FrameLänge - 1
    ID3Tag = Mid(ID3Tag, ID3FrameLänge)
Wend

```

Weiter:  
Next FoundFiles  
.  
.  
.  
Bin für jeden hilfreichen Hinweis dankbar! Danke im voraus!!!

---

<div class="post-metadata">

**Author:** ![wurmeli](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/w/258eb7/32.png) [@wurmeli](https://community.mp3tag.de/u/wurmeli)\
**Post date:** [August 26, 2017, 9:50am UTC](https://community.mp3tag.de/t/welches-format-beim-schreiben-verwenden/19275/4 "2017-08-26T09:50:12Z")

</div>

zur Ergänzung meine Mp3Tag-Optionen: Lesen: id3v2, Schreiben: id3v2 id3v2.3 UFT-16

---

<div class="post-metadata">

**Author:** ![DetlevD](https://community.mp3tag.de/user_avatar/community.mp3tag.de/detlevd/32/123_2.png) [@DetlevD](https://community.mp3tag.de/u/DetlevD)\
**Post date:** [August 26, 2017, 10:38am UTC](https://community.mp3tag.de/t/welches-format-beim-schreiben-verwenden/19275/5 "2017-08-26T10:38:57Z")

</div>

> [@wurmeli](#):
>
> ... bei einigen neu hinzugefügten Titeln die Tags(TIT2, TALB, ...) zwischen den einzelnen Buchstaben Sonder/oder Leerzeichen sind. ...

Wenn noch nicht vorhanden, dann im Dialog "Mp3tag/Ansicht/Spalten" bitte zwei Spalten einrichten:

Name: TagRead (TagTypes)  
Wert: %\_tag\_read%[' ('%\_tag%')']

Name: Char Enc  
Wert: %\_id3v2\_character\_encoding%

Dann für eine 'alte' Datei und für eine 'neue' Datei die in Mp3tag angezeigten Werte hier zeigen.

DD.20170826.1438.CEST

---

<div class="post-metadata">

**Author:** ![wurmeli](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/w/258eb7/32.png) [@wurmeli](https://community.mp3tag.de/u/wurmeli)\
**Post date:** [August 26, 2017, 10:56am UTC](https://community.mp3tag.de/t/welches-format-beim-schreiben-verwenden/19275/6 "2017-08-26T10:56:42Z")

</div>

DANKE, war das gemeint?

 ![](https://community.mp3tag.de/uploads/default/original/2X/7/719d18c59777fe1fadd664cdf37b6e21e4956161.png)

---

<div class="post-metadata">

**Author:** ![DetlevD](https://community.mp3tag.de/user_avatar/community.mp3tag.de/detlevd/32/123_2.png) [@DetlevD](https://community.mp3tag.de/u/DetlevD)\
**Post date:** [August 26, 2017, 11:24am UTC](https://community.mp3tag.de/t/welches-format-beim-schreiben-verwenden/19275/7 "2017-08-26T11:24:30Z")

</div>

**TagRead (TagTypes)Char Enc ID3v2.3 (ID3vl ID3v2.3 APEv2)UTF-16 ID3v2.4 (ID3vl ID3v2.4 APEv2)UTF-8**

Kannst du damit jetzt herausfinden, welche Datei mit welchem Tagtyp für dein Programm funktioniert?

DD.20170826.1524.CEST

---

<div class="post-metadata">

**Author:** ![wurmeli](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/w/258eb7/32.png) [@wurmeli](https://community.mp3tag.de/u/wurmeli)\
**Post date:** [August 26, 2017, 11:30am UTC](https://community.mp3tag.de/t/welches-format-beim-schreiben-verwenden/19275/8 "2017-08-26T11:30:50Z")

</div>

Ist mir gerade aufgefallen dass ich zwei verschiedene Char Encodes habe. Ist mein Problem gelöst wenn ich alles mit UTF-8 neu ausgebe? Danke für die Hilfe!

---

<div class="post-metadata">

**Author:** ![DetlevD](https://community.mp3tag.de/user_avatar/community.mp3tag.de/detlevd/32/123_2.png) [@DetlevD](https://community.mp3tag.de/u/DetlevD)\
**Post date:** [August 26, 2017, 11:36am UTC](https://community.mp3tag.de/t/welches-format-beim-schreiben-verwenden/19275/9 "2017-08-26T11:36:11Z")

</div>

> [@wurmeli](#):
>
> ... Ist mein Problem gelöst wenn ich alles mit UTF-8 neu ausgebe? ...

Das kannst du ausprobieren ... mit einer Testdatei.  
Einstellung ändern für das Tag-Schreiben in "Mp3tag/Extras/Optionen/Tags/Mpeg/Schreiben".

DD.20170826.1536.CEST

---

<div class="post-metadata">

**Author:** ![wurmeli](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/w/258eb7/32.png) [@wurmeli](https://community.mp3tag.de/u/wurmeli)\
**Post date:** [August 26, 2017, 12:40pm UTC](https://community.mp3tag.de/t/welches-format-beim-schreiben-verwenden/19275/10 "2017-08-26T12:40:12Z")

</div>

Vielen Dank an alle beteiligten Helfer für den tollen Support! Mit den Einstellungen "ID3v2.4 (ID3vl ID3v2.4 APEv2) UTF-8" kann ich die Dateien wieder fehlerfrei in meiner EXCEL-Prozedur verarbeiten.

Muss ich den Eintrag als "gelöst" kennzeichnen? Und wenn JA WO?

---

<div class="post-metadata">

**Author:** ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)\
**Post date:** [August 26, 2017, 3:52pm UTC](https://community.mp3tag.de/t/welches-format-beim-schreiben-verwenden/19275/11 "2017-08-26T15:52:39Z")

</div>

> [@wurmeli](#):
>
> zur Ergänzung meine Mp3Tag-Optionen: Lesen: id3v2, Schreiben: id3v2 id3v2.3 UFT-16

Was mich hier wundert und im Vergleich zu den später gezeigten Tag-Daten:  
Du behandelst nur ID3v2.3 Tags, hast aber noch APE Tags in den Dateien. Die APE Tags scheinen nie verändert zu werden. Also sind die vermutlich mit irgendwelchen, aber nicht mehr den aktuellen Daten versehen.

Noch ein Hinweis: der Windows Explorer und WMP kommen (je nach OS Version) nicht mit V2.4 Tags klar. Von daher ist das Schreiben von V2.4 Tags vermutlich suboptimal.

---

<div class="post-metadata">

**Author:** ![wurmeli](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/w/258eb7/32.png) [@wurmeli](https://community.mp3tag.de/u/wurmeli)\
**Post date:** [August 28, 2017, 9:17am UTC](https://community.mp3tag.de/t/welches-format-beim-schreiben-verwenden/19275/12 "2017-08-28T09:17:45Z")

</div>

> [@ohrenkino](#):
>
> Was mich hier wundert und im Vergleich zu den später gezeigten Tag-Daten:  
> Du behandelst nur ID3v2.3 Tags, hast aber noch APE Tags in den Dateien. Die APE Tags scheinen nie verändert zu werden. Also sind die vermutlich mit irgendwelchen, aber nicht mehr den aktuellen Daten versehen.
> 
> Noch ein Hinweis: der Windows Explorer und WMP kommen (je nach OS Version) nicht mit V2.4 Tags klar. Von daher ist das Schreiben von V2.4 Tags vermutlich suboptimal.

Ich habe erst einmal alle Tags außer ID3v2 gelöscht und dann alles mit ID3v2.4 UTF-8 überschrieben und mein Excelmakro funktioniert einwandfrei.

Ich bin zu sehr Laie um ins Detail zu gehen, bin froh dass es funkt - danke für alle Hinweise!
