SUPPRIMER LES TAG BOM DANS FICHIER UTF-8

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 - 23 avril 2008 à 13:47
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 26 avril 2008 à 18:02
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/46435-supprimer-les-tag-bom-dans-fichier-utf-8

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
26 avril 2008 à 18:02
BOM = Byte Order Mark
Il est constitué du caractère U+FEFF écrit en début de fichier permettant de déterminer l'endianess

Ainsi on a :
UTF-16 Little Endian : FF FE
UTF-16 Big Endian : FE FF
UTF-32 Little Endian : FF FE 00 00
UTF-32 Big Endian : 00 00 FE FF

Pour UTF-8 c'est EF BB BF, il indique juste qu'on a affaire à de l'UTF-8 et ne donne pas réellement l'ordre comme UTF-8 n'est pas sensible à ce problème d'endianess.

On peut se permettre de l'enlever en UTF-8 sans trop de danger (c'est relatif) par contre sur de l'UTF-16 ou UTF-32 ça serait relativement dangereux, d'ailleurs je me demande même s'il n'est pas carrément obligatoire.
Par contre ça serait peut être mieux de faire en sorte qu'il soit géré à l'autre bout plutôt que de sacrifier les fichiers et s'exposer à des problèmes assez vicieux par la suite, notamment lors de l'édition par une personne tierce.
cs_gluk Messages postés 43 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 25 avril 2008
25 avril 2008 à 12:14
C'est vrai, mais je n’ai pas testé avec un UTF-32--> pas eu besoin de me mettre là dedans.
C'est surtout un outil pour le développement WEB, ça aide à la supprimer les erreurs de hearder en PHP.
Dans le listing des fichiers nettoyés on retrouve aussi des CSS et JS, ça prouve que les éditeurs inclussent les tags BOM en début de fichier.
Y a toujours moyen de paramétrer l'ide avec lequel ou développe pour désactiver le BOM.
Mais quand on récupère un projet, avec des tags BOM sur tout les fichiers, il faut se les taper à la main ...(crampe à la main)

Voila, ça sert juste à automatiser le processus.
tmcuh Messages postés 458 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 18 avril 2009
25 avril 2008 à 10:59
Les tag BOM tu aurais dis MMYZ c'était le même ^^ ... quand on ne connait pas la finalité d'un code source avant de le télécharger, ça nous donne pas envie de le "découvrir", d'autant que L'utf-8 est une normalisation d'encodage, donc je vois pas ce que le terme vient faire là... Si on passe en UTF-32 ça marche toujours?

... s'en va sceptique
cs_gluk Messages postés 43 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 25 avril 2008
24 avril 2008 à 13:36
Cool, merci :)
La classe est maintenant dans un fichier à part.
J’ai rajouté la possibilité de mettre des extensions pour le scan.
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
24 avril 2008 à 12:14
Merci de mettre à jour la source pourqu'elle devienne réutilisable.
cs_gluk Messages postés 43 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 25 avril 2008
23 avril 2008 à 14:40
1 - et pourquoi pas !
2 - euhh, sinon t'as l'air débordé toi :) pense a faire des étirements, pour éviter les claquages !
3 - merci pour l'info

Sinon j'utilise ce code pour mes projets web, çà supprime tous les caractères pourris en début de fichier.
Je pourrai améliorer le programme en y incluant les extensions à traiter (php,asp,html,html,...), ou même faire une application en fenêtre (mais la je suis pas sûre que ça fonctionne sous linux).
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
23 avril 2008 à 13:47
1- Pourquoi avoir tout mis dans le program.cs ?
2- "Je fournis également le code source, plus secure quand on est un peu 'parano' :)" : en même codes-sources est une communauté de partage de sources... donc, pas de codes... pas de fiche ici.
3- Les exe sont supprimés des fichiers zip.
Rejoignez-nous