Thread View: alt.pl.fan.gopher
8 messages
8 total messages
Started by Puck
Sun, 16 Feb 2003 20:16
B64
Author: Puck
Date: Sun, 16 Feb 2003 20:16
Date: Sun, 16 Feb 2003 20:16
9 lines
1337 bytes
1337 bytes
Ave!
Jak właściwie działa Base64? Mi po głowie majaczy
się następujący algorytm: bity sa grupowane po sześć,
co daje nam maksymalną wartość 63 (+0 = 64). Do każ-
dej wartości przypisany jest znak ascii: [A-Za-z0-9+/].
Dobrze kombinuję?
--
.: Puck gg#937829 phn# +48505113296 mailto:puck@go2.pl :.
< +OK closing connection - goodbye!
Re: B64
Author: Maestro / nET#47
Date: Sun, 16 Feb 2003 20:40
Date: Sun, 16 Feb 2003 20:40
16 lines
2055 bytes
2055 bytes
puck@go2.pl nabazgrał(a): > Jak właściwie działa Base64? Mi po głowie majaczy > się następujący algorytm: bity sa grupowane po sześć, > co daje nam maksymalną wartość 63 (+0 = 64). Do każ- > dej wartości przypisany jest znak ascii: [A-Za-z0-9+/]. > Dobrze kombinuję? No jakoś tak. Popróbuj, potestuj, załóżmy, że masz tylko edytor tekstowy i programik robiący encode. -- |T%T%T|T%T%T%T| -[ pzdrwk | gg:385095 | mailto:maestro@megapolisQ.pl ]- ||%|%|||%|%|%|| -[ Odpisując mi na priv usuń "Q" z adresu emailowego ]- |'T"T'|'T"T"T'| -[ 5ss (http://5ss.kdm.pl/) & s6 (http://s6.prv.pl/) ]- |m|a|e|s|t|r|o| -[ przymusowa rekonfiguracja | IC35L040AVER07 sucks! ]-
Re: B64
Author: Adam Wysocki
Date: Sun, 16 Feb 2003 23:36
Date: Sun, 16 Feb 2003 23:36
81 lines
3412 bytes
3412 bytes
16.02.03 Puck wrote:
> Ave!
> Jak właściwie działa Base64? Mi po głowie majaczy
> się następujący algorytm: bity sa grupowane po sześć,
> co daje nam maksymalną wartość 63 (+0 = 64). Do każ-
> dej wartości przypisany jest znak ascii: [A-Za-z0-9+/].
> Dobrze kombinuję?
Dobrze. Kawałek kodu apcohdecodera poniżej.
#v+
/*
b64()
b64-uje. nie alokuje.
*/
void b64 (char *newbuf, char *oldbuf, long len)
{
char bits[24];
long pos = 0;
long newpos = 0;
int i, m, bindex;
int availbits;
int tabindex;
static char b64tab[] = "ABCDEFGHIJKLMNOPQRST\
UVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
while (pos < len)
{
if ((pos + 3) <= len)
bin (bits, oldbuf + pos, 3), pos += 3, availbits = 24;
else
if ((len - pos) == 1)
availbits = 8,
memset (bits, '0', 24), bin (bits, oldbuf + pos, 1), pos = len;
else
availbits = 16,
memset (bits, '0', 24), bin (bits, oldbuf + pos, 2), pos = len;
bindex = 0;
if (availbits == 24)
for (m = 0; m < 4; m++)
{
tabindex = 0;
for (i = 0; i < 6; i++)
tabindex |= (bits[bindex++] - '0') << (5 - i);
newbuf[newpos++] = b64tab[tabindex];
}
else
if (availbits == 8)
{
for (m = 0; m < 2; m++)
{
tabindex = 0;
for (i = 0; i < 6; i++)
tabindex |= (bits[bindex++] - '0') << (5 - i);
newbuf[newpos++] = b64tab[tabindex];
}
newbuf[newpos++] = '=', newbuf[newpos++] = '=';
}
else
{
for (m = 0; m < 3; m++)
{
tabindex = 0;
for (i = 0; i < 6; i++)
tabindex |= (bits[bindex++] - '0') << (5 - i);
newbuf[newpos++] = b64tab[tabindex];
}
newbuf[newpos++] = '=';
}
}
}
#v-
--
W tle leci: Depeche Mode - Somebody
Pozdrowienia z Warszawy * Adam `gophi' Wysocki * gophi@studio.tpi.pl
GG# 1234 * RLU# 265791 * ICQ# 173653642 * GSM# +48505439030 * CB# 33
gophi jesteś nienetetyczny (C) TheDude o moim podejściu do netykiety
Re: B64
Author: Puck
Date: Mon, 17 Feb 2003 00:02
Date: Mon, 17 Feb 2003 00:02
17 lines
1442 bytes
1442 bytes
Albo Puck za wolno pisze, albo ja za szybko czytam, że:
> Dobrze kombinuję?
Chyba tak...
0..25 = A..Z
26..51 = a..z
52..61 = 0..9
To mi się zgadza. A przynajmniej FA tak koduje.
Problem jest z końcem. Co zrobić, jak zostaną
dwa bity? Uzupełnić zerami czy jedynkami? I
od której strony? Nijak nie wychodzi... :/
--
.: Puck gg#937829 phn# +48505113296 mailto:puck@go2.pl :.
< +OK closing connection - goodbye!
Re: B64
Author: Adam Wysocki
Date: Mon, 17 Feb 2003 16:00
Date: Mon, 17 Feb 2003 16:00
15 lines
1967 bytes
1967 bytes
17.02.03 Puck wrote: > To mi się zgadza. A przynajmniej FA tak koduje. > Problem jest z końcem. Co zrobić, jak zostaną > dwa bity? Uzupełnić zerami czy jedynkami? I > od której strony? Nijak nie wychodzi... :/ Dopełnić znakami równości. -- W tle leci: Nagly Atak Spawacza - Ławka Pozdrowienia z Warszawy * Adam `gophi' Wysocki * gophi@studio.tpi.pl GG# 1234 * RLU# 265791 * ICQ# 173653642 * GSM# +48505439030 * CB# 33 Na tej grupie nie ma działu download (C) Dziadek Tooman @ apcoh 2002
Re: B64
Author: Puck
Date: Thu, 20 Feb 2003 23:55
Date: Thu, 20 Feb 2003 23:55
15 lines
1687 bytes
1687 bytes
Wiewiórka, znana jako Adam ,,Gophi'' Wysocki, wprowadza w życie
swój plan podbicia świata przy pomocy puszki mielonki konserwowej:
> > To mi się zgadza. A przynajmniej FA tak koduje.
> > Problem jest z końcem. Co zrobić, jak zostaną
> > dwa bity? Uzupełnić zerami czy jedynkami? I
> > od której strony? Nijak nie wychodzi... :/
> Dopełnić znakami równości.
Zostają mi dwa bity, '10', albo cztery, '1010',
co do tego dodać?
--
.: Puck gg#937829 phn# +48505113296 mailto:puck@go2.pl :.
< +OK closing connection - goodbye!
Re: B64
Author: Adam Wysocki
Date: Fri, 21 Feb 2003 14:55
Date: Fri, 21 Feb 2003 14:55
19 lines
2216 bytes
2216 bytes
21.02.03 Puck wrote: > > > To mi się zgadza. A przynajmniej FA tak koduje. > > > Problem jest z końcem. Co zrobić, jak zostaną > > > dwa bity? Uzupełnić zerami czy jedynkami? I > > > od której strony? Nijak nie wychodzi... :/ > > Dopełnić znakami równości. > > Zostają mi dwa bity, '10', albo cztery, '1010', > co do tego dodać? Stwarzasz sobie problemy, przejrzyj mój kod. -- W tle leci plik bez ID3: /mnt/kamil/d/SANDRA - Forever (Rmx).mp3 Pozdrowienia z Warszawy * Adam `gophi' Wysocki * gophi@studio.tpi.pl GG# 1234 * RLU# 265791 * ICQ# 173653642 * GSM# +48505439030 * CB# 33 Jesteś emocjonalnie wykolejony (C) Bylinek do futszaK-a na apff 2002
Re: B64
Author: Puck
Date: Mon, 24 Feb 2003 13:37
Date: Mon, 24 Feb 2003 13:37
13 lines
1627 bytes
1627 bytes
Wiewiórka, znana jako Adam ,,Gophi'' Wysocki, wprowadza w życie
swój plan podbicia świata przy pomocy puszki mielonki konserwowej:
> > Zostają mi dwa bity, '10', albo cztery, '1010',
> > co do tego dodać?
> Stwarzasz sobie problemy, przejrzyj mój kod.
taa, ale ja nie programuje w c... jeszcze.
Ewentualnie poproszę Delphi, żeby przyjęło kawałek z C.
--
.: Puck gg#937829 phn# +48505113296 mailto:puck@go2.pl :.
< +OK closing connection - goodbye!
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads