#include <stdio.h>
static const unsigned char bin2ascii[65]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
#define r64_get_1_byte( ucaf ) bin2ascii[ ( (ucaf)[0] >> 2 ) & 0x3f ]
#define r64_get_2_byte( ucaf ) bin2ascii[ ( ( (ucaf)[0] << 4 ) & 0x30 ) | (( (ucaf)[1] >> 4 ) & 0x0f ) ]
int main(void) {
char ucaf[50] = "90039D2152A9D9E1279E00642B0C78E584011E7D29";
char ucaf1 = r64_get_1_byte( ucaf );
char ucaf2 = r64_get_2_byte( ucaf );
printf("%c-%c", ucaf1
, ucaf2
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBiaW4yYXNjaWlbNjVdPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvIjsKCiNkZWZpbmUgcjY0X2dldF8xX2J5dGUoIHVjYWYgKSBiaW4yYXNjaWlbICggKHVjYWYpWzBdID4+IDIgKSAmIDB4M2YgXQojZGVmaW5lIHI2NF9nZXRfMl9ieXRlKCB1Y2FmICkgYmluMmFzY2lpWyAoICggKHVjYWYpWzBdIDw8IDQgKSAmIDB4MzAgKSB8ICgoICh1Y2FmKVsxXSA+PiA0ICkgJiAweDBmICkgXQoKaW50IG1haW4odm9pZCkgewoJY2hhciB1Y2FmWzUwXSA9ICI5MDAzOUQyMTUyQTlEOUUxMjc5RTAwNjQyQjBDNzhFNTg0MDExRTdEMjkiOwogICAgICBjaGFyIHVjYWYxID0gcjY0X2dldF8xX2J5dGUoIHVjYWYgKTsKICAgICAgY2hhciB1Y2FmMiA9IHI2NF9nZXRfMl9ieXRlKCB1Y2FmICk7CiAgICAgIHByaW50ZigiJWMtJWMiLCB1Y2FmMSwgdWNhZjIpOwoJcmV0dXJuIDA7Cn0K