Base84 verdient einen Platz in Dateinamen
Base84 deserves a place in file names
TurboCrypt verschlüsselt Dateinamen bisher mit Base91, doch Windows verbietet neun Zeichen. Base84 nutzt 84 portable Zeichen und packt 32 Bits in fünf Zeichen – mit nur 25,2 % Expansion. Es vermeidet reservierte Gerätenamen wie CON oder COM1 automatisch und garantiert 197 Bytes pro 255-Zeichen-Namen.
Base84 garantiert Platz für 197 Bytes an Eingabe, verglichen mit 191 für ungepolstertes Base64.
- abound
> Hier ist das Alphabet, in Kodierungsreihenfolge:
> ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!#$%&'()+,-;=@[]^_`{}~
Ja, ich will definitiv keines dieser letzten ~22 Zeichen in Dateinamen haben, wenn ich irgendetwas damit von einer Shell aus machen muss
- bensyverson
Die nicht-alphanumerischen Zeichen provozieren nur Ärger. Agents werden es versäumen, sie korrekt zu escapen, und das $ könnte eine Variable expandieren.
Base62 (oder 64, mit -_) ist völlig ausreichend.
- Dwedit
Windows verwendet intern überall UTF-16, also sind "a" und "あ" beide 2 Bytes groß. Man müsste trotzdem Surrogatpaare und die Unicode-Steuerzeichen aus einem Dateinamen ausschließen.