1 2 3 4 5 6 7 8 9 10 11 12 13 14
| void write_be32(std::vector<char> &sortie, unsigned int entier)
{
auto b0 = static_cast<unsigned char>(entier);
auto b1 = static_cast<unsigned char>(entier >> 8);
auto b2 = static_cast<unsigned char>(entier >> 16);
auto b3 = static_cast<unsigned char>(entier >> 24);
//Et pour la version qui sérialise toujours en little-endian, il suffit juste d'inverser l'ordre des 4 lignes qui suivent
sortie.push_back(b3);
sortie.push_back(b2);
sortie.push_back(b1);
sortie.push_back(b0);
}
void write_be32(std::vector<char> &sortie, int entier) { write_be32(sortie, static_cast<unsigned int>(entier)); } |