Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2164 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [C] comment détecter les caractères BOM dans buffer char* ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] comment détecter les caractères BOM dans buffer char* ?

n°1430462
kaola
Posté le 24-08-2006 à 11:10:05  profilanswer
 

Bonjour,
 
J'ai un souci. J'ai un fichier bufferisé dans un char*.  
Mais sur certains fichiers, j'ai droit aux caractères unicode qui spécifie l'encoding du fichier (utf-8, utf-16 etc...).
La représentation UTF-8 du BOM est la séquence d'octets EF BB BF, qui apparaît en encodage ISO-8859-1 comme "" dans les éditeurs de textes et navigateurs mal préparés pour traiter l' UTF-8.
 
Encoding                    Representation  
UTF-8                         EF BB BF  
UTF-16 Big Endian         FE FF  
UTF-16 Little Endian      FF FE  
UTF-32 Big Endian         00 00 FE FF  
UTF-32 Little Endian      FF FE 00 00  
SCSU                          0E FE FF  
UTF-7                         2B 2F 76
 
 
Or ce que je dois faire c'est repérer si ce BOM est présent et dans ce cas, l'enlever de mon buffer.
Le problème est que je ne sais absolument pas comment faire pour comparer mes char à ces octets de BOM.
 
Y aurait il une âme charitable pour m'aider ?  
 
Merci

mood
Publicité
Posté le 24-08-2006 à 11:10:05  profilanswer
 

n°1430466
Elmoricq
Modérateur
Posté le 24-08-2006 à 11:13:26  profilanswer
 

const char BOM_UTF8[] = { 0xEF, 0xBB, 0xBF, '\0' };
 
Et tu n'as plus qu'à tester ça avec la zone qui va bien à coup de strcmp().


Message édité par Elmoricq le 24-08-2006 à 11:14:00
n°1430483
kaola
Posté le 24-08-2006 à 11:21:53  profilanswer
 

réponse simple et efficace, merci beaucoup pour la rapidité!
:)
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [C] comment détecter les caractères BOM dans buffer char* ?

 

Sujets relatifs
Convertir un buffer recu par socket pour afficher un entierVBA EXCEL : détecter mise en forme texte (gras, italique)
Détecter le pays du visiteur et mettre la rédirection adéquate[HTML Mac/Linux - Les caractères € sont ils affichés avec ISO 8859-1?
Opération sur une chaîne de caractèresBatch - Détecter une imprimante
GROUP BY sur deux caracteres d'un champs[JDBC~MySQL] Affichage des caractères spéciaux
[C#] Détecter des doublons dans une listedecouper une chaine de caractères en mots en c#
Plus de sujets relatifs à : [C] comment détecter les caractères BOM dans buffer char* ?


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)