Something like this should work in C:
// assumes input packet is [const char* data]
unsigned char reg;
char ext[6];
char user[51];
reg = data[0];
memcpy(ext, data + 1, 5);
ext[5] = 0; // set null terminator
memcpy(user, data + 6, 50);
user[50] = 0; // set null terminator