Renommer un Fichier avec le jeu de caractère ASCII

PrinceSilk Messages postés 56 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 26 mai 2013 - 26 mai 2013 à 21:39
PrinceSilk Messages postés 56 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 26 mai 2013 - 26 mai 2013 à 22:32
Bonjour,

Je programmais auparavant sous VB6, mais les incompatibilités avec W7 m'ont obligé à passer récemment sous CS.
J'ai depuis un peu progressé, et réussit à recoder la majeure partie de mes anciens programmes, mais je suis confronté à un problème que je cherche a régler sans succès depuis un trop long moment:

J'ai programmé une application qui renomme les fichiers en cryptant leur nom...
Problème: CS utilise par défaut le jeu de caractères Unicode, donc lorsque mon programme veut utiliser certains caractère ASCII spéciaux, ça fait n'importe quoi, parfois le nom s'allonge, se raccourci, mais en tout cas, une fois renommer, impossible de revenir au nom d'origine:
Voici un exemple concret:
Nom du fichier d'origine: éèêù$ azert 01234
Nom crypté par mon programme VB6: JIKZ…ÂÛÆÓՁ‘’“”•
Nom crypté par mon programme CS: JIKZ?ÂÛÆÓՁ?????

Bref, tout est une question de jeu de caractères utilisé par CS... J'ai vérifié, la chaîne de caractères qui est utilisée dans la fonction "System.IO.File.Move(AncienNom, NouveauNom)" est bien JIKZ…ÂÛÆÓՁ‘’“”• (comme avec mon programme VB6)

Y a t'il une façon de renommer les fichiers sans passer par les fontions System.IO ?

Par avance merci!

2 réponses

PrinceSilk Messages postés 56 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 26 mai 2013
26 mai 2013 à 21:57
Ah ben tient, les caractères spéciaux passent pas non plus dans les formulaires web xD
0
PrinceSilk Messages postés 56 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 26 mai 2013
26 mai 2013 à 22:32
Oui, je corrige, c'est en UTF-8 que fonctionne VB6, et CS en Unicode :p

Mais ça reste incompatible...
0
Rejoignez-nous