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

Encodage par défaut de StreamWriter

1 réponse
Avatar
Laura Martignas
Bonjour à tous,

Je suis confrontée à un petit problème pas méchant, mais contraignant.
J'utilise un StreamWriter pour écrire dans un fichier texte. Ce
StreamWriter est en Encoding.Default.

Lorsque je lis mon fichier avec Notepad, je m'aperçois que les retours
chariot sont remplacés par des carrés, alors que sous Wordpad ça marche
bien. Je sais que Notepad utilise le codage ANSI par défaut. Quand
j'utilise un éditeur hexa pour visualiser le fichier, je constate que les
retours chariots sont encodés comme '0A' alors que Notepad s'attend à ce
qu'ils soient encodés comme '0D0A'. Ce qui explique que ça imprime des
carrés. Pourtant je pensais que l'Encoding.Default utilisait l'encodage
ANSI.

Y'a t'il un moyen d'utiliser un encodage qui encode les retours chariot
comme '0D0A' ?

Merci par avance
Laura

1 réponse

Avatar
Fred
Dans : news:,
Laura Martignas disait :
Bonjour à tous,

Je suis confrontée à un petit problème pas méchant, mais contraignant.
J'utilise un StreamWriter pour écrire dans un fichier texte. Ce
StreamWriter est en Encoding.Default.

Lorsque je lis mon fichier avec Notepad, je m'aperçois que les retours
chariot sont remplacés par des carrés, alors que sous Wordpad ça
marche bien. Je sais que Notepad utilise le codage ANSI par défaut.
Quand j'utilise un éditeur hexa pour visualiser le fichier, je
constate que les retours chariots sont encodés comme '0A' alors que
Notepad s'attend à ce qu'ils soient encodés comme '0D0A'. Ce qui
explique que ça imprime des carrés. Pourtant je pensais que
l'Encoding.Default utilisait l'encodage ANSI.

Y'a t'il un moyen d'utiliser un encodage qui encode les retours
chariot comme '0D0A' ?



Bonjour,

Ce n'est pas une question d'encodage.
S'il n'y a que 0A dans le fichier, c'est que tu n'as écrit que 0A.
Utilise la propriété NewLine de l'objet StreamWriter et/ou la méthode
WriteLine.
Je suppose que la propriété NewLine est initialisée par défaut avec
System.Environment.NewLine
Sinon, à toi d'écrire explicitement 0D et 0A.

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT