Jeśli zapiszę ten ciąg do pliku tekstowego;C# ' n' zapisane w różnych bajtach niż oczekiwano
Witam \ n jest wiadomość testowa
n znak \ jest zapisywany jako HEX [5C 6E] Chciałbym mieć to zapisane jako [0A].
Uważam, że jest to problem związany z kodowaniem?
Używam;
// 1252 is a variable in the application
Encoding codePage = Encoding.GetEncoding("1252");
Byte[] bytes = new UTF8Encoding(true).GetBytes("Hello this \\n is a test message");
Byte[] encodedBytes = Encoding.Convert(Encoding.UTF8, codePage , bytes);
Wszystko to znajduje się wewnątrz zakresu FileStream i wykorzystuje fs.Write pisać encodedBytes do pliku.
Próbowałem użyć \ r \ n ale miał taki sam wynik.
Wszelkie sugestie?
Dzięki!
EDIT
Ciąg jest odczytywana z pliku tsv i umieszcza się w tablicy ciągów. Ciąg będący do odczytu ma w sobie "\ n".
Aby przeczytać ciąg używam StreamReader reader
i podzielone na \ t
Więc dlaczego zdefiniować go jako ' '\' '+' n'? Użyj '" \ n "': '" Witaj, \ n to wiadomość testowa "' –
'' \ ''to 5C. '' n'' to 6E. ('' \\ "' tworzy znak ukośnika odwrotnego.) – molbdnilo
Nie rozumiem. W jaki sposób można poprawić to pytanie? – Bathsheba