Base64 Decoder без словаря by RT Fishel Код (Text): mov esi, szInput mov edi, szOutput mov edx, Size @b64_outer: lodsd push 4 pop ecx @b64_inner: rol eax, 8 cmp al, '0' jnb @b64_testchar add al, (('/' shl 2) + 1) and 0ffh shr al, 2 @b64_testchar: add al, 4 cmp al, 3fh jbe @b64_store sub al, 45h cmp al, 19h jbe @b64_store sub al, 6 @b64_store: shrd ebx, eax, 6 loop @b64_inner xchg ebx, eax bswap eax stosd dec edi sub edx, 4 jne @b64_outer Че-то я седня плохо соображаю, но как паддинг вставить - он его не обрабатывает. Кто сталкивался?
davaeron не совсем понятно, что ты хочешь... вставлять паддинг должен энкодер, для выравнивания на 4 символа. декодеру на паддинг должно быть наплевать...
да, вот вчера-то ступил =) просто нужно вставить подсчет символов '=' после lodsd а в конце расчитывать Выходной размер по формуле: SizeRAW/4*3-паддинг.