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

En C 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