J'ai un fichier texte en UTF-8 que je dois faire naviguer en C. Je dois diviser ce fichier en plusieurs fichiers plus petits (c'est-à-dire le couper en deux). Lorsque cela se produit, il arrive que les caractères multi-octets soient divisés en deux fichiers différents. Lorsqu'un éditeur de texte débile lit le fichier contenant la seconde moitié du texte, il lit la seconde moitié du caractère coupé et s'embrouille, ce qui l'empêche d'afficher correctement le reste du texte. Si je lis octet par octet, comment puis-je savoir si je suis au début ou au milieu d'un caractère ? Les caractères UTF-8 non compatibles avec l'ascii commencent tous avec le bit de tête à 1, mais certains ont deux octets et d'autres trois.
Edit : Nevermind, je viens de découvrir que le premier octet contient le nombre de premiers 1 que le caractère est long. Par exemple, un caractère de trois octets est 1110xxxx xxxxxxxx xxxxxxxx.