Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ecrire un fichier au format ANSI

6 réponses
Avatar
Stéphane
Bonjour,

Lorsque je génré un fichier avec streamwriter il est au format UTF8, je peut
choisi l'UTF7, l'unicode ou l'ASCII, mais ce qont j'ai bessoin c'est de
générer le fichier selon le codage ANSI, comme faire ?

Merci d'avance

Cordialement

Stéphane

6 réponses

Avatar
LE TROLL
Tiens, encore d'autres, il semblerait que des logiciels existent :

http://www.unix.com/unix-dummies-questions-answers/38111-convert-utf8-format-file-ansi-format.html


Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"Stéphane" a écrit dans le
message de news:
Bonjour,

Lorsque je génré un fichier avec streamwriter il est au format UTF8, je
peut
choisi l'UTF7, l'unicode ou l'ASCII, mais ce qont j'ai bessoin c'est de
générer le fichier selon le codage ANSI, comme faire ?

Merci d'avance

Cordialement

Stéphane




Avatar
LE TROLL
Tu as aussi Wordäd qui semble faire certaines conversions (enregistrer sous)

--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"Stéphane" a écrit dans le
message de news:
Bonjour,

Lorsque je génré un fichier avec streamwriter il est au format UTF8, je
peut
choisi l'UTF7, l'unicode ou l'ASCII, mais ce qont j'ai bessoin c'est de
générer le fichier selon le codage ANSI, comme faire ?

Merci d'avance

Cordialement

Stéphane




Avatar
LE TROLL
Bonjour Stéphane,

Un code trouvé :

Ici du code
http://forum.hardware.fr/hfr/Programmation/VB-VBA-VBS/code-conversion-ansi-sujet_79551_1.htm

Ici peut être avec les fonction de chaînes VB ?
http://social.msdn.microsoft.com/Search/en-US?query=convert%20utf%20to%20ansi&ac=3

Ici des explications ?
http://www.michelcarrare.com/multimedia/codage-car.php

Ici une DLL et du code
http://www.vbfrance.com/codes/DLL-CONVERSION-FORMAT-FICHIER-VERS-AUTRE-UTF8-VERS_40603.aspx

CE QUI DONNE ÇA

a.. Imports System.IO 'Importation de l'espace de noms pour les fichiers
a..
a..
'--------------------------------------------------------------------------------------------
a.. 'Voici les différents encodages acceptés :
a.. 'System.Text.Encoding.ASCII
a.. ' .BigEndianUnicode
a.. ' .Default
a.. ' .Unicode
a.. ' .UTF7
a.. ' .UTF8
a..
a.. 'Ces deux méthodes permettent par défaut de convertir de UTF8 vers ANSI
et de ANSI vers UTF8,
a.. 'mais vous pouvez très bien choisir l'encodage souhaité ! (cf liste
ci-dessus)
a..
'--------------------------------------------------------------------------------------------
a..
a.. Public Class FileConvert
a..
a.. 'Méthode de conversion de UTF8 vers ANSI
a.. Sub UTF8_to_ANSI(ByVal file_source As String, ByVal file_destination As
String)
a.. Dim ls_contenu As String
a..
a.. Try
a.. 'Déclaration du fichier de destination avec l'encodage souhaité, ici
"default" (=ANSI)
a.. Dim fic_dest As New StreamWriter(file_destination, True,
System.Text.Encoding.Default)
a.. 'Déclaration du fichier source avec son encodage, ici UTF8
a.. Dim monStreamReader As New StreamReader(file_source,
System.Text.Encoding.UTF8)
a.. 'Lecture de tout le contenu du fichier source
a.. ls_contenu = monStreamReader.ReadToEnd
a.. 'Ecriture du contenu du fichier source dans le fichier de destination
a.. fic_dest.WriteLine(ls_contenu)
a.. 'Fermeture du fichier
a.. fic_dest.Close()
a..
a.. Catch err As Exception
a.. 'Capture de l'erreur éventuelle
a.. MsgBox("Erreur : " + vbCrLf + err.ToString, MsgBoxStyle.Critical,
"CvrtFileFormat.dll")
a.. End Try
a..
a.. End Sub
a..
a.. 'Méthode de conversion de ANSI vers UTF8
a.. Sub ANSI_to_UTF8(ByVal file_source As String, ByVal file_destination As
String)
a.. Dim ls_contenu As String
a..
a.. Try
a.. 'Déclaration du fichier de destination avec l'encodage souhaité, ici
"UTF8"
a.. Dim fic_dest As New StreamWriter(file_destination, True,
System.Text.Encoding.UTF8)
a.. 'Déclaration du fichier source avec son encodage, ici "Default" (=ANSI")
a.. Dim monStreamReader As New StreamReader(file_source,
System.Text.Encoding.Default)
a.. 'Lecture de tout le contenu du fichier source
a.. ls_contenu = monStreamReader.ReadToEnd
a.. 'Ecriture du contenu du fichier source dans le fichier de destination
a.. fic_dest.WriteLine(ls_contenu)
a.. 'Fermeture du fichier
a.. fic_dest.Close()
a..
a.. Catch err As Exception
a.. 'Capture de l'erreur éventuelle
a.. MsgBox("Erreur : " + vbCrLf + err.ToString, MsgBoxStyle.Critical,
"CvrtFileFormat.dll")
a.. End Try
a.. End Sub
a..
a.. End Class


--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"Stéphane" a écrit dans le
message de news:
Bonjour,

Lorsque je génré un fichier avec streamwriter il est au format UTF8, je
peut
choisi l'UTF7, l'unicode ou l'ASCII, mais ce qont j'ai bessoin c'est de
générer le fichier selon le codage ANSI, comme faire ?

Merci d'avance

Cordialement

Stéphane




Avatar
Fred
"Stéphane" a écrit dans le
message de groupe de discussion :
Bonjour,



Bonjour,

Lorsque je génré un fichier avec streamwriter il est au format UTF8, je
peut
choisi l'UTF7, l'unicode ou l'ASCII, mais ce qont j'ai bessoin c'est de
générer le fichier selon le codage ANSI, comme faire ?



Je suppose que tu penses au codage par défaut Windows (Windows-1252 en
France).
Cela peut-être aussi un des nombreux autres codages disponibles.

Using sw as New System.IO.StreamWriter(path, System.Text.Encoding.Default)
...
End Using

ou bien

Using sw as New System.IO.StreamWriter(path,
System.Text.Encoding.GetEncoding(1252))
...
End Using

Regarde l'aide de la classe Encoding pour une liste complète des pages de
code et de leurs noms.


--
Fred

Avatar
Stéphane
Je remet ta réponse

pour le append je l'avais mis, mais malgrès le "1252" le format de sortie
reste de l'UTF8 ce qui fait que le fichier généré est mal lu ensuite

--------
Bonjour Stéphane,

Tu m'as répondu en direct par mail plutôt que sur le groupe (ce n'est pas
grave mais ta réponse n'apparaîtra pas sur le groupe)
Si mon code ne fonctionne pas, c'est à cause d'une monstrueuse erreur de ma
part : j'ai oublié le second paramètre "append"

Essaie celui-ci :

Using sw As New System.IO.StreamWriter("1252.txt", False,
System.Text.Encoding.GetEncoding(1252))
sw.Write("Caractères accentués et un ? pour mettre en évidence l'encodage
1252")
End Using


-----Message d'origine-----
De : Stéphane AUBOUSSU [mailto:]
Envoyé : jeudi 10 décembre 2009 08:22
À : Fred
Objet : Re: Ecrire un fichier au format ANSI

Merci pour toutes vos réponses je vais y jeter un coup d'oeil

pour l'instant je reeditait avec notepad puis j'enregistrait en changant le
format.

même en mettant le getencoding à 1252 c'est toujours du UTF8 qui est généré
:(





"Fred" a écrit dans le message de
news:
"Stéphane" a écrit dans le
message de groupe de discussion :
> Bonjour,

Bonjour,

> Lorsque je génré un fichier avec streamwriter il est au format UTF8, je
> peut
> choisi l'UTF7, l'unicode ou l'ASCII, mais ce qont j'ai bessoin c'est de
> générer le fichier selon le codage ANSI, comme faire ?

Je suppose que tu penses au codage par défaut Windows (Windows-1252 en
France).
Cela peut-être aussi un des nombreux autres codages disponibles.

Using sw as New System.IO.StreamWriter(path, System.Text.Encoding.Default)
...
End Using

ou bien

Using sw as New System.IO.StreamWriter(path,
System.Text.Encoding.GetEncoding(1252))
...
End Using

Regarde l'aide de la classe Encoding pour une liste complète des pages de
code et de leurs noms.


--
Fred




Avatar
Fred
"Stéphane" a écrit dans le
message de groupe de discussion :
Je remet ta réponse

pour le append je l'avais mis, mais malgrès le "1252" le format de sortie
reste de l'UTF8 ce qui fait que le fichier généré est mal lu ensuite



Alors il y a autre chose, le code que je t'ai envoyé produit bien le
résultat souhaité chez moi (en ouvrant avec bloc-note le fichier 1252.txt,
on voit qu'il est en ANSI si l'on fait "enregistrer sous").

Using sw As New System.IO.StreamWriter("1252.txt", False,
System.Text.Encoding.GetEncoding(1252))
sw.Write("Caractères accentués et un ¤ pour mettre en évidence
l'encodage
1252")
End Using



Essaie de poster un code minimaliste qui reproduit ton problème.


--
Fred