Conversion en RTF

Alex009 Messages postés 25 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 10 février 2007 - 9 déc. 2004 à 04:51
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 10 déc. 2004 à 12:47
Bonjour

J'aimerai savoir comment convertir les caractères accentué en visible dans un format RTF. Par exemple quand je transcris un mot avec un 'é' il me sort des caractères bizares. Je le fait en C#

Je vous remercie

6 réponses

cs_yoannd Messages postés 305 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 août 2011 7
9 déc. 2004 à 15:01
J'ai peut-être une solution un peu bidouille pour toi. Tu prends WordPad, et tu tapes un "é". tu sauvegardes au format rtf, puis tu ouvres ton fichier avec le BlocNotes. Tu dois avoir un résultat ressemblant à celui-ci dans ton fichier :
{\rtf1\ansi\ansicpg1252\deff0\deflang1036{\fonttbl{\f0\fswiss\fcharset0 Arial;}}
\viewkind4\uc1\pard\f0\fs20\'e9\par
}

conclusion : "é" est écrit 'e9 en rtf.

A toi de te faire un table de conversion. Mais bon, moi, je viens de remplacer 'e9 dans le code du fichier rtf par le caractère é, et quand j'ouvre avec WordPad, tout s'affiche correctement. Je me demande d'ou vient vraiment ton problème d'affichage des caractères accentués.
0
Alex009 Messages postés 25 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 10 février 2007
9 déc. 2004 à 20:12
Merci Yoannd pour ton intervention.
Au lieu de faire une table de conversion j'ai trouvé autre choses qui est une fonction qui me permet de sauver un texte avec les accents dans un fichier RTF:

FileStream fw = File.Create(myPathFile);
byte[] b = Encoding.GetEncoding(1252).GetBytes(myData);
fw.Write(b,0,b.Length);
fw.close;

Et le tour est joué.
0
cs_yoannd Messages postés 305 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 août 2011 7
10 déc. 2004 à 09:26
Ha ouais, sympa cette solution... mais le 1252 de "GetEncoding(1252)" , il veut dire quoi ?
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
10 déc. 2004 à 11:35
le codepage : Méthode Encoding.GetEncoding (Int32)

Cocoricoooooooo !!!!
coq
MVP Visual C#
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_yoannd Messages postés 305 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 août 2011 7
10 déc. 2004 à 12:14
D'accord, ca n'explique pas tellement pourquoi il faut mettre ce chiffre, mais ca sous-entend que c'est plutot un numéro arbitraire attribué à windows. Je me trompe ?
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
10 déc. 2004 à 12:47
je ne sais pas si il est calculé ou juste choisis arbitrairement
http://en.wikipedia.org/wiki/Codepage
http://en.wikipedia.org/wiki/Windows-1252

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
Rejoignez-nous