Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

C# скрипт, използващ StreamWriter, създава допълнителен символ?

StreamWriter е за писане на текстната към поток. Винаги използва кодиране и ако не посочите такова, когато го създавате, ще използва UTF-8 (без знак за ред на байтовете - BOM). Резултатът, който получавате, е UTF-8 енкодерът, който се опитва да преведе текста (под формата на отделни знаци) в UTF-8.

Ако искате да пишете байтове към поток просто пишете в потока директно с помощта на Write метод, който приема масив от байтове. Ако искате да пишете във файл, можете да създадете FileStream и го използвайте като поток.

Именуването на класове в рамките на System.IO пространството от имена понякога може да бъде объркващо:

  • Stream е абстрактен базов клас, предоставящ методи за четене и запис на байтове
  • FileStream е Stream който чете и записва във файл
  • BinaryWriter ви позволява да пишете примитивни типове в двоична форма в Stream
  • TextWriter е абстрактен базов клас, който ви позволява да пишете текст
  • StreamWriter е TextWriter който ви позволява да пишете текст в Stream

Вероятно трябва да използвате FileStream или BinaryWriter върху FileStream за да разрешите проблема си.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Промяна на съпоставянето на SQL Server на нечувствително към главни и малки букви?

  2. пълнотекстово търсене върху данни с долна черта

  3. Как да убиете всички текущи връзки към база данни на SQL Server 2005?

  4. Как да разбера какво заключва масите ми?

  5. Бройте записи за всеки месец в годината