Comment convertir des fichiers en codage UTF-8 dans Linux
- 4408
- 465
- Thomas Richard
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.JavaVé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
Où -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 -lListe 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époserConvertir 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.
- « Comment trouver un nom de processus en utilisant le numéro PID dans Linux
- 4 moyen utile de connaître le nom du périphérique USB branché dans Linux »