Outils pour utilisateurs

Outils du site


sysadmin:linux:encodage-des-caracteres

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
sysadmin:linux:encodage-des-caracteres [2020/11/14 12:41] yoannsysadmin:linux:encodage-des-caracteres [2023/11/29 11:09] (Version actuelle) yoann
Ligne 1: Ligne 1:
-{{tag>sysadmin linux charset}}+{{tag>sysadmin linux charset encodage encoding}}
  
 ====== Encodage des caractères  ====== ====== Encodage des caractères  ======
  
-Par son mode de fonctionnement, un ordinateur ne permet que de stocker des représentations binaires. Il n'y a donc pas de façon "naturelle" de représenter un caractère comme 'A', un guillemet ou un point-virgule. Un jeu de caractère est une table permettant d'établir un transcodage entre une valeur binaire et un symbole, un caractère. C'est donc un choix, une convention et plusieurs jeux de caractères existent comme ASCII, ASCII étenduUnicode etc.+Par son mode de fonctionnement, un ordinateur ne permet que de stocker des représentations binaires (des nombres en base 2). Il n'y a donc pas de façon "naturelle" de représenter un caractère comme 'A', un guillemet ou un point-virgule, il faut donc **concevoir des abstractions** basées sur ces nombres pour représenter d’autres données. Un **jeu de caractère** est une table permettant d'établir un **transcodage** entre une valeur binaire et un symbole, un caractère. C'est donc un choix, **une convention** et **plusieurs jeux de caractères existent** comme US-ASCII, CP1252ISO 8859-1 (Latin-1), ISO 8859-15 (Latin-9), UTF-8 etc.
  
 Pour représenter un caractère à l’écran il faut donc: Pour représenter un caractère à l’écran il faut donc:
Ligne 15: Ligne 15:
  
 Plusieurs outils peuvent être utilisés: uchardet, file, enca Plusieurs outils peuvent être utilisés: uchardet, file, enca
 +
 +<code bash>
 +# Détermine le type mime et l'encodage du fichier smp2.csv
 +file --mime smp2.csv 
 +smp2.csv: application/csv; charset=us-ascii
 +
 +# Pour n'afficher que l'encodage
 +file --brief --mime-encoding smp2.csv 
 +us-ascii
 +
 +# Déterminer l'encodage via chardet
 +chardet smp2.csv 
 +smp2.csv: ascii with confidence 1.0
 +
 +</code>
  
 ===== Conversion ===== ===== Conversion =====
  
-toDo: iconv+Depuis la ligne de commande via **iconv** 
 +<code bash> 
 +# Créer un 
 +iconv --from-code=US-ASCII --to-code=UTF-8 --output=smp3.csv smp2.csv 
 +</code> 
 + 
 +<note> 
 +Certains jeux de caractères sont plus étendus que d'autres. Par exemple UTF-8 contient des caractères qui ne pourront pas être convertis en ASCII. **iconv** génère alors un message d'erreur de la forme ''illegal input sequence at position'' a moins de définir l'option **-c** permettant d'ignorer les caractères non convertibles. 
 +</note> 
 + 
 +Les éditeurs de textes permettent de définir quel encodage utiliser lors de l'enregistrement. Vim par exemple dispose de la variable [[software:applications:vim:trucs-et-astuces#encodage|fileencoding]].
  
 ===== Références ===== ===== Références =====
  
   * https://stackoverflow.com/questions/48729215/how-to-check-character-encoding-of-a-file-in-linux   * https://stackoverflow.com/questions/48729215/how-to-check-character-encoding-of-a-file-in-linux
 +  * https://www.shellhacks.com/linux-check-change-file-encoding/
sysadmin/linux/encodage-des-caracteres.1605357661.txt.gz · Dernière modification : 2021/02/01 21:51 (modification externe)