Base64
Übersicht

timmeTheOnlyBetreff: Base64 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi Leutz,
bin am verzweifeln, ich finde nix in der forensuche und kann den algorhytmus nicht aus javascript übersetzen, nebenbei ist auf plasmas download weg. nun zu meiner frage: weiß einer wie ich einen base64-encoder hinbekomme, er braucht auch nicht schnell zu sein, nur für den smtp loginprozess mfg t-master |
||
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe es jetzt nicht gelesen, aber hier könntest du etwas finden: http://www.sendmail.org/~ca/email/auth.html.
Such bei Google danach. Sogar Wikipedia hat für viele Algorythmen Codebeispiele. MfG Blitzcoder |
||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
timmeTheOnly |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich weiß, aber ich brauchs dynamisch... | ||
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was meinst du mit Dynamisch?
Und: Zitat: Zur Kodierung werden jeweils drei Byte des Bytestroms (=24 bit) in vier 6-bit-Blöcke aufgeteilt. Jeder dieser 6-bit-Blöcke bildet eine Zahl zwischen 0 und 63. Diese Zahlen werden an Hand der nachfolgenden Umsetzungstabelle in „druckbare ASCII-Zeichen“ umgewandelt und ausgegeben. Der Name des Algorithmus erklärt sich durch eben diesen Umstand – jedem Zeichen des kodierten Datenstroms lässt sich eine Zahl zwischen 0 und 63 zuordnen (siehe Tabelle). Mathematisch betrachtet gleicht dies einem Stellenwertsystem der Basis 64. In der Regel wird spätestens nach jeweils 76 ausgegebenen Zeichen ein Zeilenumbruch eingefügt, welcher jedoch ansonsten für die Kodierung nicht von Belang ist.
Falls die Gesamtanzahl der Eingabebytes nicht durch drei teilbar ist, wird der zu kodierende Text am Ende mit Füllbytes aufgefüllt. Um dem Dekodierer mitzuteilen, wie viele Füllbytes angefügt wurden, werden die 6-Bit-Blöcke, die vollständig aus Füllbytes entstanden sind, mit = kodiert. Somit können am Ende einer Base64-kodierten Datei 0, 1 oder 2 =-Zeichen auftreten. Quelle: http://de.wikipedia.org/wiki/Base64 Ich finde, daraus kann man recht schön eine Funktion bauen. |
||
timmeTheOnly |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich weiß, aber ich werde daraus nicht schlau...
[edit] Ich hab jetz ne Base64.dll im I-Net gefunden, hab eine Userlib geschreiben und jetzt sagt er: "Userlib not found"... PlzHelp PS: die userlib: Code: [AUSKLAPPEN] .lib "Base64.dll" EnCodeBase64$(sv$):"encode_base64" DeCodeBase64$(sv$):"decode_base64" |
||
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab mich ma ran gesetzt, den WikiPedia-Artikel in ein paar Funktionen umzusetzen, allerdings für BMax. Vieleicht kannst du trotzdem was mit anfangen oder es kann dir wer umschreiben: https://www.blitzforum.de/foru...p?p=214270 | ||
timmeTheOnly |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
danke, leider kann ich damit nichts anfangen, da es in bb kein tstream gibt | ||
![]() |
FOODy |
![]() Antworten mit Zitat ![]() |
---|---|---|
Den Typ nicht aber Streams gibst schon:
http://blitzbase.de/befehle2d/readfile.htm |
||
BlitzMax + MaxGUI, 64-bit Arch Linux: Intel Core² E8500 | 8 GB Ram | GeForce GTX 460 · 1024 MB |
timmeTheOnly |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ja schon, aber ich versuchs grade zu übersetzten *andenkopflangvorschwierigkeit*+
[edit] Fertisch, aber der gibt nur As und am ende = aus... |
||
![]() |
PowerProgrammer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Function Base64enc$(a$)
b64$="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" m$="" f$="" largo=Len(a$) ;Encode a$ into one long string of bits cx$="" For encode=1 To largo x$=Mid$(a$,encode,1) ;get one char at a time Tx=Asc(x$) ;Tx = ASCII code b$=Bin$(Tx) ;convert Tx into string of 32 bits b$=Right$(b$,8) ;get the right most 8 bits out of the 32 bits cx$=cx$+b$ ;add string of 8 bits to cx$ Next ;largo = number of bits stored in cx$ largo=Len(cx$) For encode=1 To largo Step 6 x$=Mid$(cx$,encode,6) bbb=Len(x$) bbbx=6-bbb ;check for 6 bits ;If not full 6 bits at end of bit string, then add "=" to end of encoded string If bbbx>0 Then f$="=" EndIf x$=x$ + Left$("00000000",bbbx) ;pad with zeroes to make 6 bits res=0 For y=0 To 5 by = Asc(Mid$(x$, 6-y, 1)) - 48 ;get bits from right to left (least significant to most) res = res + ( 2^y * by) ;raise to power of 2 and add to res (result) Next m$=m$+Mid$(b64$,res+1,1)+f$ Next Return m$ End Function Function Base64dec$(a$) b64$="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" m$="" f$="" length = Len(a$) cx$ = "" If Right$(a$,1) = "=" Then length = length - 2: flag = 1 For decode = 1 To length x$ = Mid$(a$,decode,1) pos = Instr(b64$,x$)-1 b$ = Bin$(pos) b$ = Right$(b$,6) cx$ = cx$ + b$ Next If flag = 1 Then numBits = 6 * (Len(a$)-2) rmdr = (Floor(numBits/8)+1)*8-numBits oddChar$ = Mid$(a$,Len(a$)-1,1) pos =Instr(b64$, oddChar$)-1 b$ = Right$(Bin$(pos),6) b$ = Left$(b$,rmdr) cx$ = cx$ + b$ End If length = Len(cx$) For decode = 1 To length Step 8 b$ = Mid$(cx$,decode,8) res = 0 For y = 0 To 7 bit =Asc( Mid$(b$,8-y,1)) - 48 If bit <> 0 Then res = res Or (2^y * bit) End If Next m$ = m$ + Chr$(res) Next Return m$ End Function www.blitzbasic.com rulez! |
||
www.xairro.com Alles für Webmaster und Programmierer! Es gibt mehr als bloß einen Counter! |
timmeTheOnly |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
thx man | ||
![]() |
Trust |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey,
ich weiß dieser Threat ist schon ewig her aber ich habe mal versucht mit deiner(PowerProgrammer) Base64enc$ Function eine Bild-Datei zu encoden. Aber ab dem 73. Zeichen ist es im hinblick zum MIME base64 (RFC 2045) encodeten String anders. Ist deine Function nicht "stream-Tauglich" oder ist deine Base64enc$ function eine andere als MIME base64 (RFC 2045) ? Zur Information über die verschiedenen Base64 Arten ist auf dieser Seite weiter unten eine schöne Tabelle : http://en.wikipedia.org/wiki/Base64 Vielen Dank Trust |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group