C# StreamWriter

Címkék
C# StreamWriter
2022-08-03T14:31:05+02:00
2022-08-04T09:12:52+02:00
2022-08-04T09:30:29+02:00
thomasz007
Hali mindenkinek

Következő a gondom.
Létrehoztam egy fájlt.

Szamla_File_Euro = new System.IO.StreamWriter(File_Teljes_Utvonal_Euro, false, Encoding.Unicode); Szamla_File_Euro = new System.IO.StreamWriter(File_Teljes_Utvonal_Euro, false, Encoding.GetEncoding("ISO 8859-2"));
Itt meg is adtam a kódolási lapot, tehát Unicode.

A fájlt létre lett hozva és akinek elküldtem, azt írja hogy a "egyike ANSI és UTF16 LE BOM kódlappal készült" a fájl. 
Ez hogy lehetséges, mert nem is azt adtam meg a kódolásnál.

"ISO 8859-2" Azt írják, hogy ilyen kódolású fájlt kellene létrehozni, de ez hogy adható meg?
Mutasd a teljes hozzászólást!

  • Olvasd el ezt: EncodingInfo.GetEncoding Method (System.Text)

    Először is, az "iso-8859-2" lenne, nem pedig "ISO 8859-2". Másodszor pedig az sem mindegy, hogy a projekted .NET Core-t (ideértve a .NET 5-öt és a .NET 6-ot), vagy .NET Framework-öt targetel. ISO-8859-2 csak .NET Framework-ön lesz alapból. Ha .NET Core-on is kell, akkor külön regisztrálnod kell a providert. Erről bővebben ebben a doksiban olvashatsz.

    Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
    Az Encoding.Unicode pedig UTF-16 little endian byte ordert jelent. A StreamWriter pedig a fájl elejére BOM-ot tesz.
    Mutasd a teljes hozzászólást!
  • Ez ok, de hogy oldható meg hogy a txt fájl iso-8859-2 kódolásban legyen elmentve?

    meta részbe kell csak berakni a sort?
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">

    és írásnál így kell megadni
    Encoding.GetEncoding("iso-8859-2")
    Mutasd a teljes hozzászólást!
Címkék
abcd