sql >> Databasteknik >  >> RDS >> Sqlserver

Skapar C#-skript med StreamWriter extra karaktär?

En StreamWriter är för att skriva text till en bäck. Den använder alltid en kodning och om du inte anger en när du skapar den kommer den att använda UTF-8 (utan ett byteordermärke - BOM). Utdatan du får är UTF-8-kodaren som försöker översätta texten (i form av enskilda tecken) till UTF-8.

Om du vill skriva bytes till en ström skriv helt enkelt till strömmen direkt med Write metod som accepterar en array av byte. Om du vill skriva till en fil kan du skapa en FileStream och använd det som stream.

Namnet på klasser inom System.IO namnrymden kan ibland vara förvirrande:

  • Stream är en abstrakt basklass som tillhandahåller metoder för att läsa och skriva bytes
  • FileStream är en Stream som läser och skriver till en fil
  • BinaryWriter låter dig skriva primitiva typer i binär form till en Stream
  • TextWriter är en abstrakt basklass som låter dig skriva text
  • StreamWriter är en TextWriter som låter dig skriva text till en Stream

Du borde förmodligen använda FileStream eller BinaryWriter ovanpå en FileStream för att lösa ditt problem.



  1. Hur man ställer in MySQL-replikering i RHEL, Rocky och AlmaLinux

  2. SQL Server-markörtyper - Dynamisk markör | SQL Server Tutorial / TSQL Tutorial

  3. SQL Subquery returnerar mer än 1 rad

  4. Ställ in miljövariabel (PGPASSWORD) innan du kör ett kommando (pg_dump) på Windows SSH-server i Paramiko