Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Skrypt C# przy użyciu StreamWriter tworzy dodatkowy znak?

StreamWriter służy do pisania tekstu do strumienia. Zawsze używa kodowania i jeśli nie określisz go podczas tworzenia, użyje UTF-8 (bez oznaczenia kolejności bajtów - BOM). Dane wyjściowe, które otrzymujesz, to koder UTF-8, który próbuje przetłumaczyć tekst (w postaci pojedynczych znaków) na UTF-8.

Jeśli chcesz pisać bajty do strumienia po prostu napisz do strumienia bezpośrednio za pomocą Write metoda, która akceptuje tablicę bajtów. Jeśli chcesz pisać do pliku, możesz utworzyć FileStream i użyj go jako strumienia.

Nazewnictwo klas w System.IO przestrzeń nazw może być czasami myląca:

  • Stream jest abstrakcyjną klasą bazową dostarczającą metody do odczytu i zapisu bajtów
  • FileStream to Stream który czyta i zapisuje do pliku
  • BinaryWriter pozwala na pisanie typów pierwotnych w formie binarnej do Stream
  • TextWriter jest abstrakcyjną klasą bazową, która pozwala pisać tekst
  • StreamWriter jest TextWriter który pozwala pisać tekst do Stream

Prawdopodobnie powinieneś użyć FileStream lub BinaryWriter na górze FileStream aby rozwiązać Twój problem.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hierarchiczna lista typów zdarzeń wyzwalających w SQL Server 2019

  2. Używanie UNION ALL w STUFF / XML Path

  3. Zaktualizuj oświadczenie za pomocą opcji Dołącz i Grupuj według

  4. Jak przekonwertować byte[] na datetime w C#?

  5. Przekaż Dictionary<string,int> do procedury składowanej T-SQL