quinta-feira, 10 de outubro de 2013

Convertendo os tipos Long, Short, Single para um Array Byte em C#

A Classe BitConvert do .NET Framework fornece algumas funcionalidade para converter tipos de dados para um array byte.  A Classe BitConvert tem seu modelo estático sobrecarregando GetBytes que são integer, double, bool, short ou long.


Veja alguns exemplos abaixo:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BitConverterSample
{
    class Program
    {
        static void Main(string[] args)
        {

            Console.WriteLine("Bool, Char, Long, Short, Single e byte arrays.");
            float floatValue = 12.098F;
            Console.WriteLine("Float: " + floatValue.ToString());
            byte[] bytes = BitConverter.GetBytes(floatValue);
            Console.WriteLine("Byte array:");
            Console.WriteLine(BitConverter.ToString(bytes));
            // Criando um byte array para Float
            float valueBack = BitConverter.ToSingle(bytes, 0);
            Console.WriteLine(valueBack.ToString());
            Console.WriteLine("--------------------------");

            long longValue = 1234567891011121314;
            Console.WriteLine("Long: " + longValue.ToString());
            bytes = BitConverter.GetBytes(longValue);
            Console.WriteLine("Byte array:");
            Console.WriteLine(BitConverter.ToString(bytes));
            // Criando um byte array para Long
            long longValueBack = BitConverter.ToInt64(bytes, 0);
            Console.WriteLine(longValueBack.ToString());
            Console.WriteLine("--------------------------");

            short shortValue = 12345;
            Console.WriteLine("Short: " + shortValue.ToString());
            bytes = BitConverter.GetBytes(shortValue);
            Console.WriteLine("Byte array:");
            Console.WriteLine(BitConverter.ToString(bytes));
            // Criando um byte array para Short
            short shortValueBack = BitConverter.ToInt16(bytes, 0);
            Console.WriteLine(shortValueBack.ToString());
            Console.WriteLine("--------------------------");

            char charValue = "c";
            Console.WriteLine("Char: " + charValue.ToString());
            bytes = BitConverter.GetBytes(charValue);
            Console.WriteLine("Byte array:");
            Console.WriteLine(BitConverter.ToString(bytes));
            // Criando um byte array para Char
            char charValueBack = BitConverter.ToChar(bytes, 0);
            Console.WriteLine(charValueBack.ToString());
            Console.WriteLine("--------------------------");


            bool boolValue = true;
            Console.WriteLine("Bool: " + boolValue.ToString());
            bytes = BitConverter.GetBytes(boolValue);
            Console.WriteLine("Byte array:");
            Console.WriteLine(BitConverter.ToString(bytes));
            // Criando um byte array para Bool
            bool boolValueBack = BitConverter.ToBoolean(bytes, 0);
            Console.WriteLine(boolValueBack.ToString());
            Console.WriteLine("--------------------------");

            Console.ReadLine();       
    }
}


Bons, estudos.

0 comentários:

Postar um comentário