declare -a encodeTable=(

 62  -1  -1  -1  63  52  53  54  55  56  57  58  59  60  61  -1

 -1  -1  -1  -1  -1  -1   0   1   2   3   4   5   6   7   8   9

 10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25

 -1  -1  -1  -1  -1  -1  26  27  28  29  30  31  32  33  34  35 

 36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51
)
function a2b6()
{
    if [ $1 -lt 43 -o $1 -gt 122 ]
    then
        echo -1
    else
        echo ${encodeTable[$(($1-43))]}
    fi
}

function flush() {
    for (( k=2; k>=4-CNT; k-- ))
    do
        (( b8=BUF>>(k*8)&255 ))
        printf -v HEX %x $b8
        printf \\x$HEX
    done
}

while read INPUT
do
    for (( i=0; i<${
    do
        printf -v NUM %d "'${INPUT:$i:1}"
        if (( NUM==61 ))
        then
            flush
            exit 0
        else
            DEC=$( a2b6 $NUM )
            if (( DEC>=0 ))
            then
                (( BUF|=DEC<<6*(3-CNT) ))
                if (( ++CNT==4 ))
                then
                    flush
                    (( CNT=0, BUF=0 ))
                fi
            fi
        fi
    done
done