Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi UTF16 bei Playlisten ? (https://www.delphipraxis.net/121866-utf16-bei-playlisten.html)

Nils_13 6. Okt 2008 09:19


UTF16 bei Playlisten ?
 
Hi,

ich frage mich schon seit Tagen, ob es Playlisten irgendeines Formats geben könnte, die statt UTF8 oder ANSI UTF16 beinhalten. Zu Prüfen, ob eine Datei eine UTF16-Datei ist geht recht schnell, aber der Ladevorgang wird dadurch dennoch verlangsamt, da ich den String nicht als UTF16 sondern als ANSI reinbekomme und ihn erst konvertieren muss.

In dem Sinne: Könnte es irgendwelche Personen auf der Welt geben, die unbedingt UTF16 bei Playlisten brauchen ? Ich persönlich brauche nicht einmal UTF8 (für Deutsch und Englisch reicht ANSI), aber wie sehen das zum Beispiel die Asiaten ?

Gausi 6. Okt 2008 09:33

Re: UTF16 bei Playlisten ?
 
Das m3u8-Format, eine Abart von m3u, die so weit ich weiß von Winamp eingeführt wurde, verwendet UTF8. Damit kommen dann auch Asiaten ganz gut klar. Oder Deutsche, wenn sie Musik mit asiatischen Dateinamen hören wollen. ;-)

Erkennung des Formats ist auch recht einfach - einfach mal mit Winamp ausprobieren und in einem Hex-Editor betrachten. Der Rest geht genauso wie bei m3u. UTF16 ist meiner Meinung nach zur Speicherung solcher Daten überflüssig, da es auch nicht mehr kann als UTF8 und in 99% der Fälle deutlich mehr Speicher benötigt.

Nils_13 6. Okt 2008 09:37

Re: UTF16 bei Playlisten ?
 
Das dachte ich mir schon die ganze Zeit. Ich war mir einfach nur nicht sicher. Das m3u8-Format kenne ich nicht und habe ich nicht. Aber ich denke, dass es eine stinknormale M3U ist, die am Anfang die Byte-Order-Mark EF BB BF stehen hat. Stimmt das ? Ich kann es wirklich schlecht testen.

Gausi 6. Okt 2008 09:42

Re: UTF16 bei Playlisten ?
 
Ja, am Anfang stehen 3 Bytes, und EF BB BF könnte hinkommen. Der Rest ist halt m3u mit dem Unterschied, dass die Titel und Dateinamen UTF-8 kodiert sind, um auch Titel und Dateinamen jenseits des eingestellten 8-Bit-Zeichensatzes unterstützen zu können. Parsen der Liste geht genauso, man muss halt nur ein paar UTF8Decode's einschieben und intern mit Widestrings arbeiten. Sonst bekommt man auch schon mit deutschen Umlauten Probleme. ;-)

Nils_13 6. Okt 2008 09:48

Re: UTF16 bei Playlisten ?
 
Ahja, also stehen in einer UTF8-M3U direkt die Bytes ? Eine Playlist folgender Form gibt es also nicht ?
Zitat:

<--BOM
#EXTM3U
#EXTINF:221,Queen - Bohemian Rhapsody
Titel 1.mp3
#EXTINF:473,Dire Straits - Walk Of Life
Pop\Meine Auswahl\Titel 2.mp3
#EXTINF:264,冨田勲 – Boléro
C:\Dokumente und Einstellungen\All Users\Dokumente\Eigene Musik\Titel irgendeinenummer.mp3
#EXTINF:504,Crazy Town - Darkside
E:\Musik\Crazy Town\The Gift Of Game\Crazy Town - Darkside.mp3

Gausi 6. Okt 2008 10:18

Re: UTF16 bei Playlisten ?
 
Naja, eigentlich schon. Nur sind die Informationen halt UTF-8 kodiert. Wenn man einen intelligenten Text-Editor hat, der das UTF-8 BOM am Anfang erkennt, sieht die Liste im Editor genauso aus. Klar stehen die Bytes direkt so dadrin. In einer normalen Textdatei stehen die Bytes ja auch direkt drin.

In Form einer UTF-16 Kodierung sind mir solche Sachen aber noch nicht über den Weg gelaufen - wie gesagt: das macht eigentlich auch keinen Sinn. Es hindert dich allerdings niemand daran, den Versuch zu starten, solche Playlisten über deinen Player zu etablieren. ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz