Gå til innhold

Finnes det Encoding i BinaryWriter/reader?


Anbefalte innlegg

Jeg skriver for tiden et program for å overføre mange/store filer fra en maskin til mange andre synkront.

 

Et temmelig enkel problem jeg kommer over, er at i headeren til hver fil som skal sendes, så må filnavnet må, greit nok, jeg bruker Write på BinaryWriter. Problemet er at jeg må vite lengden av stringen som blir skrevet, og for det kan jeg bruker Encoder.GetBytesCount. menneh... hvordan vet jeg hvilken encoding BinaryWriter bruker?

 

Dokumentasjonen sier følgende om saken:

This method writes a length-prefixed string to this stream using the BinaryWriter instance's current Encoding.

 

åkæi... BinaryWriter har ingen "Encoding" property, den arver ikke fra noen klasser, og jeg kan ikke se at BaseStream har noen encoding.

 

Noen måte jeg slipper å skrive en egen funksjon for dette?

Hva er egentlig anbefalt Encoding for filbaner? holder ASCII?

Lenke til kommentar
Videoannonse
Annonse

Hvis du ikke spesifierer en Encoding i konstruktøren bruker den UTF-8 for string encoding som default.

 

Anbefalt encoding for filbaner ville jeg sagt var UTF-8 (ev UTF-16 men det er neppe noen vits), da er du på linje med ellers i Windows og kan representere de filnavnene Windows kan. Bruker du ASCII er vi tilbake til de dager hvor man for guds skyld ikke måtte bruke æøå i filnavn.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...