Comment convertir un fichier ASCII en UTF-8?

J’essaie de transcoder un groupe de fichiers ASCII en UTF-8.

Pour cela, j’ai essayé d’utiliser iconv:

iconv -f US-ASCII -t UTF-8 infile> fichier de sortie

-f CODANT l’encodage de l’entrée

-t CODANT l’encodage de la sortie

Pourtant, ce fichier n’a pas été converti en UTF-8. C’est un fichier .dat.

Avant de poster ceci j’ai cherché dans les informations trouvées sur google comme

ASCII est un sous-ensemble de UTF-8, donc tous les fichiers ASCII sont déjà codés en UTF-8. Les octets dans le fichier ASCII et les octets qui résulteraient de “l’encodage en UTF-8” seraient exactement les mêmes octets. Il n’y a pas de différence entre eux.

Encodage forcé de US-ASCII à UTF-8 (iconv)

Meilleur moyen de convertir des fichiers texte entre des jeux de caractères?

Pourtant, les liens ci-dessus n’ont pas aidé.

Même s’il est en ASCII, il supportera UTF-8, car UTF-8 est super-set, l’autre partie qui va recevoir les fichiers de ma part a besoin d’un encodage de fichier en UTF-8. Il a juste besoin d’un format de fichier comme UTF-8.

Toutes les suggestions s’il vous plaît.

Merci d’avance.

Je suis un peu confus par la question, car, comme vous l’avez indiqué, l’ASCII est un sous-ensemble de UTF-8, donc tous les fichiers ASCII sont déjà encodés en UTF-8.

Si vous envoyez des fichiers contenant uniquement des caractères ASCII à l’autre interlocuteur, mais que l’autre partie se plaint de ne pas être «encodé UTF-8», alors je suppose qu’ils font référence au fait que le fichier ASCII comporte aucune marque d’ordre d’octets indiquant explicitement que le contenu est UTF-8.

Si tel est le cas, vous pouvez append une marque d’ordre d’octet en utilisant la réponse ici:

iconv: conversion de Windows ANSI en UTF-8 avec BOM

Si l’autre partie indique qu’il n’a pas besoin de la ‘nomenclature’ (marque d’ordre des octets), mais se plaint toujours que les fichiers ne sont pas UTF-8, une autre possibilité est que votre fichier initial ne soit pas réellement ASCII qui sont encodés en utilisant ANSI ou ISO-8859-1.

Édité pour append l’expérience suivante, après le commentaire de Ram concernant l’autre partie à la recherche du type en utilisant la commande ‘file’

 Tims-MacBook-Pro:~ tjohns$ echo 'Stuff' > deleteme Tims-MacBook-Pro:~ tjohns$ cat deleteme Stuff Tims-MacBook-Pro:~ tjohns$ file -I deleteme deleteme: text/plain; charset=us-ascii Tims-MacBook-Pro:~ tjohns$ echo -ne '\xEF\xBB\xBF' > deleteme Tims-MacBook-Pro:~ tjohns$ echo 'Stuff' >> deleteme Tims-MacBook-Pro:~ tjohns$ cat deleteme Stuff Tims-MacBook-Pro:~ tjohns$ file -I deleteme deleteme: text/plain; charset=utf-8