2010-11-01 24 views
2

J'utilise cette méthode pour écrire dans un objet MemoryStream, qui est ensuite stocké un binaire dans SQL. Il est utilisé pour lire les fichiers .HTML du système de fichiers sous Windows.FileInfo.OpenRead() - quel type de codage utilise-t-il?

Comment puis-je connaître le type d'encodage dans lequel ces données sont lues? Merci.

Répondre

7

Aucun, car il ouvre un flux binaire. Lorsque vous faites par exemple Envelopper le flux dans un StreamReader, c'est le moment où vous choisissez l'encodage. Le FileStream lui-même tel que renvoyé par la méthode OpenRead n'est pas basé sur du texte et n'a donc pas d'encodage.

1

FileInfo.OpenRead renvoie un flux brut qui n'utilise aucun codage (puisqu'il renvoie des octets, pas des caractères).

Les codages sont utilisés pour convertir des octets bruts en caractères Unicode.
Dans .Net, les codages sont utilisés par les classes StreamReader et StreamWriter, qui fonctionnent avec des chaînes au lieu des octets.