Coder avec Unicode/L' accès aux fichiers
Les noms de fichiers
modifierEn C
modifierLe 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
modifierEn 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
modifierPour 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
modifieren 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
modifierEn .Net
modifierEn PL/SQL
modifierPlusieurs fonctions existent dans le package UTL_FILE[2]:
- FOPEN_NCHAR
- GET_LINE_NCHAR
- PUT_NCHAR
- PUT_LINE_NCHAR
- PUTF_NCHAR
Références
modifier- ↑ http://www.perlmonks.org/?node_id=536223
- ↑ docs.oracle.com/cd/B19306_01/server.102/b14225/ch7progrunicode.htm