Write BYTES to MIFARE without trancoding to ASCII-HEX

consider

byte buf [10];
char t [80];

void
disp (
    byte *buf,
    int   nByte )
{
    for (int n = 0; n < nByte; n++)  {
        sprintf (t, " 0x%02x", buf [n]);
        Serial.print (t);
    }
    Serial.println ();
}

// -----------------------------------------------------------------------------
int
func (
    char *s,
    byte *buf,
    int   bufSize )
{
    int       val;
    unsigned  i;
    for (i = 0; i < strlen(s); i += 2)  {
        sscanf (&s [i], "%02x", &val);
        *buf++ = val;
    }

    return i/2;
}

// -----------------------------------------------------------------------------
void
setup (void)
{
    Serial.begin (9600);

    disp (buf, func ((char *)"d73f7a79", buf, sizeof(buf)));
    disp (buf, func ((char *)"1234567890123", buf, sizeof(buf)));
}

// -----------------------------------------------------------------------------
void
loop (void)
{
}