Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

AW: Base64 case insensitive

  Alt 5. Jul 2010, 18:00
Bei "guten" Funktionen/Klassen, welche nach Base64 umkodieren, kann man den Zeichensatz angeben.
"Meine" Base64 hält sich an den RFC-Standard.
Dass ich den Vorrats von 64 (+1 für Endekennung) Zeichen umdefinieren kann ist klar.
Bei Decodieren muss dies natürlich wieder rückgängig gemacht werden.

Mir geht es darum zu fragen ob sich schon mal jemand die Mühe gemacht hat, die Kleinbuchstaben durch andere Zeichen zu ersetzen.

Bin jetzt gerade fündig geworden:
Code:
 /**
  * This array is a lookup table that translates 6-bit positive integer
  * index values into their "Base64 Alphabet" equivalents as specified
  * in Table 1 of RFC 2045.
  */
  private static final char intToBase64[] = {
     'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
     'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
     'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
     'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
     '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/'
  };
 
  /**
   * This array is a lookup table that translates 6-bit positive integer
   * index values into their "Alternate Base64 Alphabet" equivalents.
   * This is NOT the real Base64 Alphabet as per in Table 1 of RFC 2045.
   * This alternate alphabet does not use the capital letters. It is
   * designed for use in environments where "case folding" occurs.
   */
   private static final char intToAltBase64[] = {
      '!', '"', '#', '$', '%', '&', '\'', '(', ')', ',', '-', '.', ':',
      ';', '<', '>', '@', '[', ']', '^', '`', '_', '{', '|', '}', '~',
      'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
      'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
      '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '?'
   };

Warum nicht gleich Base16 aka Hexadezimal
Base16, Base32 & Base36 brauchen mir zu viel Platz.
Andreas

Geändert von shmia ( 5. Jul 2010 um 18:02 Uhr)
  Mit Zitat antworten Zitat