есть код декодирования строки:
CString sUUE;
char* pBuff;
#define UUDEC(n) (n - ' ') & 077
CString sCodeTable="`!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_";
char a,b,c,d;
int t=0;
int nb=sCodeTable.Find(sUUE[0]);
sUUE.Delete(0);
for (int i=0; i<sUUE.GetLength()/4; i++)
{
a=UUDEC(sUUE[4*i]);
b=UUDEC(sUUE[4*i+1]);
c=UUDEC(sUUE[4*i+2]);
d=UUDEC(sUUE[4*i+3]);
if (t<nb)
pBuff[t++]=(char)(a<<2)|(b>>4);
if (t<nb)
pBuff[t++]=(char)(b<<4)|(c>>2);
if (t<nb)
pBuff[t++]=(char)(c<<6)|(d);
}
нужна процедура ОБРАТНОЙ кодировки
помогите
-у
Zdraitsa wrote:
> есть код декодирования строки:
>
>
> CString sUUE;
> char* pBuff;
>
>
> #define UUDEC(n) (n — ' ') & 077
>
> CString sCodeTable="`!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_";
> char a,b,c,d;
> int t=0;
> int nb=sCodeTable.Find(sUUE[0]);
> sUUE.Delete(0);
>
> for (int i=0; i<sUUE.GetLength()/4; i++)
> {
> a=UUDEC(sUUE[4*i]);
> b=UUDEC(sUUE[4*i+1]);
> c=UUDEC(sUUE[4*i+2]);
> d=UUDEC(sUUE[4*i+3]);
>
> if (t<nb)
> pBuff[t++]=(char)(a<<2)|(b>>4);
> if (t<nb)
> pBuff[t++]=(char)(b<<4)|(c>>2);
> if (t<nb)
> pBuff[t++]=(char)(c<<6)|(d);
> }
>
>
>
> нужна процедура ОБРАТНОЙ кодировки
> помогите -у
> помогите решить головоломку с кодированием <?mid=1296323> Оценить
Больно похоже на сам UUencode. берутся байты по три, трактуются как 4 по
6 бит, и в соответствии с табличкой
http://www.opengroup.org/onlinepubs/009695399/utilities/uuencode.html
перекодируются.
Posted via RSDN NNTP Server 2.0 beta
Здравствуйте, raskin, Вы писали:
R>Больно похоже на сам UUencode. берутся байты по три, трактуются как 4 по
R>6 бит, и в соответствии с табличкой
R>http://www.opengroup.org/onlinepubs/009695399/utilities/uuencode.html
R>перекодируются.
ага
точно!
оно, я ж это тоже не сам придумал
а исходники там есть? чего не нашел пока...
Zdraitsa wrote:
> Здравствуйте, raskin, Вы писали:
>
>
>
> R>Больно похоже на сам UUencode. берутся байты по три, трактуются как 4 по
> R>6 бит, и в соответствии с табличкой
> R>http://www.opengroup.org/onlinepubs/009695399/utilities/uuencode.html
> R>перекодируются.
>
> ага точно! оно, я ж это тоже не сам придумал
> а исходники там есть? чего не нашел пока...
Не понял..
Какие исходники? писать 20 строк. Список симолов там есть.
a b c -> t u v w
t = a>>2
u = ((a&3)<<4) | (b>>4)
v = ((b&15)<<2) | (c>>2)
w = c&63
осталось добавить символы с этими индексами в строке.
Posted via RSDN NNTP Server 2.0 beta