Coder avec Unicode/L' accès aux fichiers

Cette page est considérée comme une ébauche à compléter . Si vous possédez quelques connaissances sur le sujet, vous pouvez les partager en éditant dès à présent cette page (en cliquant sur le lien « modifier »).

Ressources suggérées : Aucune (vous pouvez indiquer les ressources que vous suggérez qui pourraient aider d'autres personnes à compléter cette page dans le paramètre « ressources » du modèle? engendrant ce cadre)

Les noms de fichiers

modifier

Le langage C n'offre pas de facilité spécifique pour accéder aux fichiers avec Unicode. Il faut donc s'appuyer sur des bibliothèques qui ne seront pas les mêmes dans Visual Studio et dans un environnement libre.

Sous Visual Studio, il est possible d'écrire :

L"this is a literal string"

En Java

modifier

En Java, les classes dérivant de Reader permettent de lire des caractères.

try(InputStreamReader in = new InputStreamReader(new FileInputStream(filepath), "UTF-8"))
{
    //... lecture en UTF-8
}

En Perl

modifier

Pour obtenir la liste des noms de fichier d'un répertoire, sous Windows 7 et en UTF-8, le code suivant peut être utilisé[1] :

 open fList, '-|:encoding(UTF-16LE)', 'cmd /U /C dir /W'; open fOut, '>', 'out.txt';
 foreach (<fList>) 
 {
    utf8::encode($_);
    print fOut $_; 
 }

En Python

modifier

en python 2, il vous faudra utiliser le module codecs et ouvrir le fichier que vous voulez manipuler ( écriture, lecture, etc...) avec l'encodage utf8.

import codecs

thefile = codecs.open('lefichier', encoding='utf-8')

vous pourrez alors écrire une chaine ou lire dans ce fichier par les méthodes read ou write

unicodeString = thefile.readline()

ou

thefile.write(u'ligne unicode')

En Javascript

modifier

En .Net

modifier

En PL/SQL

modifier

Plusieurs fonctions existent dans le package UTL_FILE[2]:

  • FOPEN_NCHAR
  • GET_LINE_NCHAR
  • PUT_NCHAR
  • PUT_LINE_NCHAR
  • PUTF_NCHAR

Références

modifier
  1. http://www.perlmonks.org/?node_id=536223
  2. docs.oracle.com/cd/B19306_01/server.102/b14225/ch7progrunicode.htm