u2a ist ein Programm, das Dateinamen von Unicode in einen Zeichensatz mit 6, 7 oder 8 Bit konvertiert.
Unter Windows speichern Dateisysteme wie NTFS oder exFAT Dateinamen in Unicode mit 16-32 Bit (UTF16). FAT-Dateisysteme wie z. B. FAT12, FAT16 und FAT32 speichern im OEM-Zeichensatz mit 8 Bit, werden beim Betrieb unter Windows jedoch um VFAT-Eigenschaften erweitert, so daß sie neben den kurzen 8.3-Namen auch lange UTF16-Namen abbilden.
Ein Problem entsteht jedoch, wenn diese Dateien auf nicht-Unicode-fähige Datenträger kopiert werden oder durch ältere Programme oder der Windows-Konsole angezeigt werden sollen; hierbei gehen alle Zeichen verloren, die nicht im aktuellen Zeichensatz vorhanden sind:
D:\Downloads>dir/b All of ?????Völyés????? Dj_FUN!.m4a Coding ?? Hacking ?? Music ?? - Badster.m4a filler-jetlag.mp4 Les & Lin - See.mp4.mpa Lynn Sole - 'Keep Going' (Megamix).m4a mack • amber -special [seven beats].m4a Music for Coders, Creators — Deep ??.m4a
Um solchen Verlusten vorzubeugen, kann man natürlich Dateien vorher manuell umbenennen. Sind aber viele Dateien zu konvertieren, wird es mühsam und zeitaufwendig!
Genau aus diesem Grund ist u2a entstanden: Es benennt alle ausgewählten Dateien eines Ordners in einem Rutsch um. Dabei werden die Dateinamen nach 8 Bit (Windows-Zeichensatz 1252), 7 Bit (ASCII) oder 6 Bit konvertiert. Der letztgenannte Modus erlaubt nur noch die Zeichen 'a'-'z', '0'-'9', '.' und '-'. Er setzt damit Dateinamen effektiv auf Kleinschreibung, löscht alle Punkte außer dem letzten und komprimiert Leer- und Trennzeichen, wie die Abb. zeigt:
Die Kodierung selbst ändert sich dadurch nicht: Die Dateinamen bleiben im Unicode-Format des Dateisystems, enthalten aber nur noch Zeichen des gewählten Zeichensatzes:
D:\Downloads>dir/b all-of-voelyes-dj-fun.m4a coding-hacking-music-badster.m4a filler-jetlag.mp4 les-lin-see-mp4.mpa lynn-sole-keep-going-megamix.m4a mack-amber-special-seven-beats.m4a music-for-coders-creators-deep.m4a
Die Komandozeilen-Version funktioniert wie die GUI-Version, akzeptiert aber auch mehrere Dateimuster oder Verzeichnisse. Die Option -l zeigt Änderungen nur an, ohne sie anzuwenden, die Option -c legt den Modus fest:
D:\Downloads>u2ac -l * Dateien von D:\Downloads\* All of ?????Völyés????? Dj_FUN!.m4a --> all-of-voelyes-dj-fun.m4a Coding ?? Hacking ?? Music ?? - Badster.m4a --> coding-hacking-music-badster.m4a filler-jetlag.mp4 Les & Lin - See.mp4.mpa --> les-lin-see-mp4.mpa Lynn Sole - 'Keep Going' (Megamix).m4a --> lynn-sole-keep-going-megamix.m4a mack • amber -special [seven beats].m4a --> mack-amber-special-seven-beats.m4a Music for Coders, Creators — Deep ??.m4a --> music-for-coders-creators-deep.m4a
Achtung: Da Windows zur Anzeige einen Konsolenpuffer benutzt, der fest auf 16 Bit pro Zeichen (UCS-2) beschränkt ist, können im Gegensatz zur GUI nur Zeichen aus der Unicode-Ebene 0, der sog. BMP, angezeigt werden; andere Zeichen werden als Ersatzzeichen ? angezeigt. Das ändert jedoch nichts an der Konversion, die korrekt erfolgt.
u2ac -? zeigt die Hilfe an:
D:\Downloads>u2ac -? Unicode to ASCII/1.0, 2024 asdala.de. u2ac [-Option] Dateimuster [Dateimuster ...] Optionen [Standardwert]: -l Dateinamen nur auflisten, nicht konvertieren -c Konversion auf [6], 7 oder 8 Bit -? Diese Hilfe Beispiele: u2ac *.c u2ac -c7 c:\download\*.mp4 c:\texte\*.txt c:\input\*
Die Programme können als Archiv heruntergeladen werden:
Quelltext:
u2a-src.zip [3 KB]
Nach dem Download ist eine Prüfung auf Virusfreiheit und Authentizität zu empfehlen.
Installation oder Deinstallation des Programms sind nicht notwendig. Da sich das Programm nicht in Systemdateien einträgt, ist ein portabler Betrieb möglich. Das Programm kann in einen Ordner eigener Wahl kopiert werden. Getestet wurde unter Windows 10 und 11.
Eine Verknüpfung mit Datei-Managern ist möglich, um bequem und schnell Ordner umzubenennen.
Für den Datei-Explorer reicht es, eine Verknüpfung zu u2a.exe im Ordner
zu erstellen. Der Befehle erscheint dann im Kontextmenü des Explorers: Senden an.
Dazu unter Programmstarter|Hinzufügen oder Optionen|Programme folgenden Eintrag vornehmen:
Der Befehl erscheint dann im Programmstarter.