Comment convertir des fichiers en codage UTF-8 dans Linux

Comment convertir des fichiers en codage UTF-8 dans Linux

Dans ce guide, nous décrirons quel personnage codage et couvrirons quelques exemples de convertifications de fichiers d'un codage de caractère à un autre à l'aide d'un outil de ligne de commande. Ensuite, nous examinerons comment convertir plusieurs fichiers à partir de n'importe quel jeu de caractères (charbon) pour UTF-8 Encodage en Linux.

Comme vous l'avez peut-être déjà à l'esprit, un ordinateur ne comprend ni ne stocke des lettres, des chiffres ou quoi que ce soit que nous, les humains, pouvons percevoir sauf des bits. Un peu n'a que deux valeurs possibles, c'est soit un 0 ou 1, vrai ou FAUX, Oui ou Non. Toutes les autres telles que les lettres, les chiffres, les images doivent être représentées en bits pour un ordinateur pour traiter.

En termes simples, Encodage de caractère est un moyen d'informer un ordinateur comment interpréter les zéros bruts et ceux en caractères réels, où un caractère est représenté par un ensemble de nombres. Lorsque nous tapons du texte dans un fichier, les mots et les phrases que nous formons sont cuisinés à partir de différents caractères, et les caractères sont organisés en un charbon.

Il existe divers schémas de codage tels que Ascii, Ansi, Unicode entre autres. Vous trouverez ci-dessous un exemple de Ascii codage.

Bits de caractère A 01000001 B 01000010 

Dans Linux, le iconve L'outil de ligne de commande est utilisé pour convertir le texte d'une forme d'encodage à un autre.

Vous pouvez vérifier l'encodage d'un fichier à l'aide du déposer commande, en utilisant le -je ou --mime drapeau qui permet l'impression de la chaîne de type mime comme dans les exemples ci-dessous:

$ file -i voiture.Fichier java $ -i cardriver.Java 
Vérifiez l'encodage des fichiers dans Linux

La syntaxe pour l'utilisation iconve est comme suit:

$ iconv Option $ iconv Options -f From-coding -T to-coding inputfile (s) -o outputfile 

-F ou --de code signifie codage d'entrée et -t ou --coder Spécifie le codage de sortie.

Pour répertorier tous les jeux de caractères codés connus, exécutez la commande ci-dessous:

$ iconv -l 
Liste des caractères codés dans Linux

Convertir des fichiers de UTF-8 en codage ASCII

Ensuite, nous apprendrons à convertir d'un schéma d'encodage à un autre. La commande ci-dessous convertit de ISO-8859-1 pour UTF-8 codage.

Considérez un fichier nommé saisir.déposer qui contient les caractères:

� � � � 

Commençons par vérifier l'encodage des caractères dans le fichier, puis affichage le contenu du fichier. De près, nous pouvons convertir tous les personnages en Ascii codage.

Après avoir exécuté le iconve Commande, nous vérifions ensuite le contenu du fichier de sortie et le nouveau codage des caractères comme ci-dessous.

Entrée de fichier $ -i.Déposer une entrée Cat.fichier $ iconv -f ISO-8859-1 -T UTF-8 // Tralisez l'entrée.Fichier -O out.Déposer $ Cat Out.fichier $ fichier -i out.déposer 
Convertir UTF-8 en ASCII dans Linux

Note: Dans le cas où la chaîne //IGNORER est ajouté au codage, des caractères qui ne peuvent pas être convertis et une erreur s'affiche après la conversion.

Encore une fois, en supposant la chaîne // Translisez est ajouté au codage comme dans l'exemple ci-dessus (Ascii //), les caractères convertis sont translittérés selon les besoins et si possible. Ce qui implique dans le cas où un personnage ne peut pas être représenté dans le jeu de caractères cible, il peut être approximé par un ou plusieurs caractères d'aspect similaire.

Par conséquent, tout caractère qui ne peut pas être translittéré et qui n'est pas dans le jeu de caractères cible est remplacé par un point d'interrogation (?) dans la sortie.

Convertir plusieurs fichiers en codage UTF-8

Revenant à notre sujet principal, pour convertir plusieurs ou tous les fichiers d'un répertoire en codage UTF-8, vous pouvez écrire un petit script de shell appelé codage.shot comme suit:

#!/ bin / bash #enter Encoding d'entrée ici de_encoding = "value_here" #Output Encoding (utf-8) vers_encoding = "utf-8" #convert convert = "iconv -f $ from_encoding -t $ to_encoding" #loop pour convertir plusieurs fichiers pour le fichier dans *.SMS; faire $ converti "$ file" -o "$ fichier%.SMS.UTF8.converti "Tire Done 0 

Enregistrer le fichier, puis rendre l'exécutable de script. Exécutez-le à partir du répertoire où vos fichiers (*.SMS) sont situés.

$ chmod + x codage.sh $ ./codage.shot 

Important: Vous pouvez également utiliser ce script pour la conversion générale de plusieurs fichiers d'un encodage donné à un autre, jouez simplement avec les valeurs du De_encoding et À_encoding variable, sans oublier le nom du fichier de sortie "$ fichier%.SMS.UTF8.converti".

Pour plus d'informations, examinez le iconve page.

$ man iconv 

Pour résumer ce guide, la compréhension de l'encodage et comment convertir d'un schéma d'encodage de caractères à une autre est nécessaire pour chaque utilisateur informatique de plus pour les programmeurs lorsqu'il s'agit de traiter le texte.

Enfin, vous pouvez nous contacter en utilisant la section des commentaires ci-dessous pour toute question ou commentaire.