miércoles, 20 de julio de 2016

Otros Mecanismos de Conversión en C# - Parte 4/4: Clase BitConverter

Índice

1. Introducción
2. Palabras Clave
3. Clase BitConverter
4. Ejemplo Básico de Uso
5. Conclusiones
6. Literatura & Enlaces

1. Introducción

Última parte de la serie Otros Mecanismos de Conversión en C#. En esta oportunidad se ilustra el uso básico de la clase BitConverter como mecanismo de conversación orientado a convertir tipos de datos base a un arreglo a de bytes, y viceversa.

2. Palabras Clave

  • Arreglo de bytes
  • BitConverter
  • Bytes
  • Conversión

3. Clase BitConverter

La clase BitConverter (namaspace System) ofrece al programador un conjunto de métodos static para convertir tipos de datos base -i.e., bool, char, string, System.DateTime, System.DateTimeOffset y tipos de datos numéricos- a un arreglo de bytes.

La mayoría de conversiones en esta clase realizan con la invocación del método static sobrecargado GetBytes; por ejemplo: 

foreach (byte b in BitConverter.GetBytes(5.0))
{
Console.Write(b + " ");
}

Este código produce los siguientes valores de tipo byte

0 0 0 0 0 0 20 64 

Vale apuntar que la conversión a decimal y a DateTime (DateTimeOffset) no está soportada de forma directa en BitConverter; para ello el programador puede hacer uso del método decimal.GetBits para crear un arreglo de valores int. Para el proceso contrario, decimal cuenta con un constructor que acepta un arreglo de valores int.

De forma análoga, DateTime contiene un método llamado ToBinary para la representación en bytes. Y por otro lado, cuenta con DateTime.FromBinary para el proceso inverso (Albahari, 2012).

4. Ejemplo Básico de Uso

[Nota: El lector puede encontrar un ejemplo básico de uso para comprender los esenciales de esta clase en Receta No. 2-3 en C#: Conversión de Tipos Numéricos a Arreglos de Bytes.]

5. Conclusiones

Se demostró que la clase BitConverter es útil para crear la representación en un arreglo de bytes de un valor de un tipo de dato base. El proceso inverso es posible.

La próxima serie de artículos C# discute aspectos importantes de globalización de aplicaciones.

6. Literatura & Enlaces

Albahari, J., Albahari, B. (2012). C# 5.0 in a Nutshell. United States: O'Reilly Media.
BitConverter Class (System) (2016, julio 20). Recuperado desde: https://msdn.microsoft.com/en-us/library/system.bitconverter(v=vs.110).aspx
Receta No. 2-3 en C#: Conversión de Tipos Numéricos a Arreglos de Bytes (2016, julio 20). Recuperado desde: https://ortizol.blogspot.com.co/2014/04/receta-no-2-3-en-c-conversion-de-tipos.html


O

No hay comentarios:

Publicar un comentario

Envíe sus comentarios, dudas, sugerencias, críticas. Gracias.