La chaîne UTF-8 peut-elle contenir des zéros ? Je vais l'envoyer via le protocole de texte brut ascii, dois-je l'encoder avec quelque chose comme base64 ?
Réponse
Trop de publicités?Le texte ASCII est limité aux valeurs d'octets comprises entre 0 et 127. Le texte UTF-8 n'a pas une telle restriction - le texte codé avec UTF-8 peut avoir son bit de poids fort. Il n'est donc pas sûr d'envoyer du texte UTF-8 sur un canal qui ne garantit pas un passage sûr pour ce bit haut.
Si vous êtes obligé de gérer un canal ASCII uniquement, Base-64 est un choix raisonnable (mais pas particulièrement économe en espace). Êtes-vous sûr d'être limité aux données 7 bits ? C'est un peu inhabituel de nos jours.