uint64_t value creating from 8 bytes

Converting it to a char buffer should also be not that difficult:

uint64_t number = __builtin_bswap64((uint64_t)buffer); //Typecasting may fail
char textual[20];
sprintf(textual, "%llu", number);