J'essaie de lire un fichier de la carte SD et on m'a dit qu'il était au format Unicode. Cependant, lorsque je tente de lire le fichier que je reçois le texte suivant:Problème d'encodage des fichiers lus sous Android
C'est le code que je utilise pour lire le fichier:
InputStreamReader fw = new InputStreamReader(new FileInputStream(root.getAbsolutePath()+"/Drive/sdk/cmd.62.out"), "UTF-8");
char[] buf = new char[255];
fw.read(buf);
String readString = new String(buf);
Log.d("courierread",readString);
fw.close();
Si j'écris que la production à un fichier c'est ce que je reçois quand je l'ouvre dans un éditeur hexadécimal:
Des réflexions sur ce que je dois faire pour lire le fichier correctement?
Je ne sais pas, mais j'ai essayé d'appliquer le code de suppression de la nomenclature et cela semblait empirer les choses! Je suppose que la solution la plus simple est de supprimer tous ces caractères A étranges - malheureusement, je ne connais pas le caractère Unicode pour le faire. – RichW
Supprimer ces caractères ne résoudrait pas le problème. Êtes-vous sûr que c'est un fichier UTF-8? Pouvez-vous regarder le fichier dans un éditeur hexadécimal et poster une capture d'écran ou les codes hexadécimaux des premiers octets? – RoToRa
Tout ce que je sais, c'est que c'est unicode. J'ai essayé UTF-16 et c'était complètement illisible, c'était juste composé de beaucoup de caractères douteux. Comme demandé, j'ai sorti les codes hexadécimaux pour chaque personnage (voir le message original). Il semble qu'il y ait un 0 entre chaque caractère. – RichW