Hello Andrew!
Пят Окт 24 1997 13:53, Andrew V. Kovalev wrote to All:
>> Hет ли у кого MIME encoder/decoder-а под unix,
>> или описания принципа кодирования mime?
AK> Пакет называется metamail. "Описание принципа кодирования" - в RFC,
AK> номера, увы, не помню.
Да вот вся енкодилка, собственно... Как-то накpопал в свое вpемя:
===
static char *
MIME="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
void MIME_encode(FILE * in, FILE * out)
{
unsigned long triple=0;
int EofSem=0;
int Pos=0;
int nOct=0;
int nSex=0;
int ch;
while (!EofSem)
{
if ((ch=getc(in))== EOF)
{
ch=0;
EofSem=1;
for (int i=nOct;i<3;i++)
triple= (triple<<8) | ch;
}
else
{
triple= (triple<<8) | ch;
nOct++;
}
if (EofSem)
nSex=nOct + (nOct?1:0);
else
nSex=4;
if (nOct == 3 || EofSem)
{
for (int i = 0; i < nSex; i++)
{
putc(MIME[(triple>>((3-i)*6))&0x3F], out);
Pos++;
if (Pos==72)
{
Pos=0;
fputs("\n", out);
}
}
if (EofSem)
for (i=nSex; i < 4; i++)
putc('=', out);
nOct=0;
triple=0;
}
}
if (Pos > 0)
fputs("\n", out);
}
===
Cheers,
Yuri (mailto:sfy@corbina.net)
-- end of forwarded message --
--
Kittle