using System;
using System.IO;
using System.Text;

namespace fichier_encodage
{
    class Program
    {
        static void Main(string[] args)
        {
            string path = @"D:\Temp\"; // @=verbatim string equivalent à G:\\Temp\\
            string namefile = "test_encode.txt";
            FileStream fs = new FileStream(path + namefile, FileMode.Create);
            fs.WriteByte(0xFF); // ecrit 1 octer
            byte[] ByteArray = new byte[20];
            for (byte i = 0; i < 20; i++) ByteArray[i] = i;
            // pas de probleme de conversion car ByteArray 
            // tableau d'octet
            fs.Write(ByteArray, 0, ByteArray.Length); //ecriture tableau octets
            string chaine = "je veux etre enregistre";
            // Convert the string into a byte[]
            Encoding unicode = Encoding.Unicode; // choix codage
            byte[] unicodechaine = unicode.GetBytes(chaine); //codage et creation d'un nouveau tableau
            fs.Write(unicodechaine, 0, unicode.GetByteCount(chaine)); // on ecrit
            string chaine2 = "je veux etre enregistre en utf8"; //même chose en UTF8 pour comparer
            fs.Write(Encoding.UTF8.GetBytes(chaine2), 0, Encoding.UTF8.GetByteCount(chaine2));
            // conversion double vers string puis ASCII
            double val = 10.536;
            String strNumber = System.Convert.ToString(val);
            fs.Write(Encoding.ASCII.GetBytes(strNumber), 0, Encoding.ASCII.GetByteCount(strNumber));
            fs.Close();
        }
    }
}
