AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Base64 case insensitive

Ein Thema von shmia · begonnen am 5. Jul 2010 · letzter Beitrag vom 5. Jul 2010
 
shmia

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

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
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz