Csharp/C Sharp/Development Class/BitConverter

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Convert byte array to Int32

<source lang="csharp"> using System; using System.IO; class MainClass {

   public static byte[] DecimalToByteArray (decimal src){
       using (MemoryStream stream = new MemoryStream()) {
          using (BinaryWriter writer = new BinaryWriter(stream)){
              writer.Write(src);
              return stream.ToArray();
          }
       }
   }
   public static decimal ByteArrayToDecimal (byte[] src){
       using (MemoryStream stream = new MemoryStream(src)){
          using (BinaryReader reader = new BinaryReader(stream)){
             return reader.ReadDecimal();
          }
       }
   }
   public static void Main()
   {
       byte[] b = null;
       b = BitConverter.GetBytes(true);
       Console.WriteLine(BitConverter.ToString(b));
       Console.WriteLine(BitConverter.ToBoolean(b, 0));
       b = BitConverter.GetBytes(3678);
       Console.WriteLine(BitConverter.ToString(b));
       Console.WriteLine(BitConverter.ToInt32(b, 0));
       b = DecimalToByteArray(285998345545.563846696m);
       Console.WriteLine(BitConverter.ToString(b));
       Console.WriteLine(ByteArrayToDecimal(b));
   }
   

}

      </source>


Convert byte array to String with BitConverter

<source lang="csharp">

using System; using System.IO; using System.Text; class MainClass {

   public static void Main()
   {
       using (StreamWriter output = new StreamWriter("output.txt"))
       {
           string srcString = "Area = \u03A0r^2";
           output.WriteLine("Source Text : " + srcString);
           byte[] utf16String = Encoding.Unicode.GetBytes(srcString);
           output.WriteLine("UTF-16 Bytes: {0}",BitConverter.ToString(utf16String)); 
           byte[] utf8String = Encoding.UTF8.GetBytes(srcString);
           byte[] asciiString = Encoding.ASCII.GetBytes(srcString);
           output.WriteLine("UTF-8 Bytes: {0}",
           BitConverter.ToString(utf8String));
           output.WriteLine("ASCII Bytes: {0}",
           BitConverter.ToString(asciiString));
           output.WriteLine("UTF-8 Text : {0}",Encoding.UTF8.GetString(utf8String));
           output.WriteLine("ASCII Text : {0}",Encoding.ASCII.GetString(asciiString));
       }
   }

}

      </source>