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.
  1. 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

  2. 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.

  3. 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.

Mehr von diesem Tag

2026-09-13