WhiteDragon: base64 awk

4 сообщения / 0 new
Последнее сообщение
Гость
WhiteDragon: base64 awk

понадобилось мне из шеловского скрипта разобрать base64
пользовать для этого перл - из пушки по воробьям
на yandex://awk+base64 сразу нашелся скрипт, но как быстро выяснилось он не правильный
вскрытие показало - массив алфавита криво создается, ну я поправил это, чуть сократил его:
<div class='indent'>#!/bin/awk -f
{
for(i=0;i<length;k++){
if(c=index("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",substr($0,++i,1))){
c--
if(k%=4)printf("%c",z*4**k+(k<3?(c-(z=c%(a=16/k**k)))/a:c))
else z=c
}
}
}</div>
вдруг кому понадобится :)
рабочий день закончился, трахать его дальше мне лень, пойду пить пиву и переписывать его на баше

Sheridan
Аватар пользователя Sheridan
Не в сети
Зарегистрирован: 20/09/2010

Драгон, я так понял ты люг с багтраком перепутал :)

Zmey (не проверено)

Ничего-ничего, пусть пишет человек. :)

Хотя насчет оборота "пользовать для этого перл - из пушки по воробьям" - чесгря не понял. На перловке use Mime::Base64; encode_base64(); писать гораздо приятнее и короче, чем ковыряться с awk. Да и работает быстрее.

WhiteDragon (не проверено)

[quote=Sheridan]Драгон, я так понял ты люг с багтраком перепутал :)[/quote]
нет, ничо я не перепутал :), просто задача давольно типичная - авось комунить пригодиться :)

[quote=Zmey]Ничего-ничего, пусть пишет человек. :)

Хотя насчет оборота "пользовать для этого перл - из пушки по воробьям" - чесгря не понял. На перловке use Mime::Base64; encode_base64(); писать гораздо приятнее и короче, чем ковыряться с awk. Да и работает быстрее.[/quote]
ды дело в том что раскодировать надо было мелкий кусочек - посему в скорости я бы только потерял на поднятии перла на это, да и если уж цеплять перл - так мне проще полностью на нем писать ибо его я знаю порядком лучше тогоже баша и авк :) (собственно это вообще я к авк первый раз прикоснулся)
в довесок я еще не люблю модули юзать :) даже на перле бы я написал бы всеравно сам, а это было бы медленнее чем из xs :)
да и фиолетово - сейчас все это раскапывается прямо башем в том же скрипте :)
http://paste.org.ru/?bwdz4c

<span class='smallblacktext'>[ Редактирование 06.07.2006 - 13:01:44 ]</span>

RSS-материал