Last active
August 29, 2015 14:00
-
-
Save Fhernd/9863456ea7a1e455a258 to your computer and use it in GitHub Desktop.
Demostración del proceso de conversión de esquemas de caracteres (códigos de página) en C#.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ===++=== | |
// | |
// OrtizOL | |
// | |
// ===--=== | |
/*============================================================ | |
// | |
// Clase: ConversionEsquemasCaracteres.cs | |
// | |
// Propósito: Demostrar la conversión entre esquemas | |
// | |
============================================================*/ | |
using System; | |
using System.IO; | |
using System.Text; | |
namespace Recetas.Ch02 | |
{ | |
internal class ConversorEsquemasCaracteres | |
{ | |
public static void Main() | |
{ | |
// Craemos un archivo para guardar el contenido de las representaciones | |
using (StreamWriter archivoSalida = new StreamWriter("salida.txt")) | |
{ | |
// Aquí creamos la cadena de caracteres con la fórmula del | |
// área de una esfera | |
string areaEsfera = "Área Esfera = 4*\u03A0 *r^2"; | |
// Graba en el archivo la secuencia de caracteres de areaEsfera | |
archivoSalida.WriteLine("Texto original (fuente): {0}", areaEsfera); | |
// Ahora creamos el flujo de bytes que representa la cadena "Área Esfera = 4*\u03A0 *r^2" | |
byte[] bytesUtf16 = Encoding.Unicode.GetBytes(areaEsfera); | |
// Escribmos el nuevo flujo en el archivo de texto | |
archivoSalida.WriteLine("Bytes para UTF-16: {0}", BitConverter.ToString(bytesUtf16)); | |
// Enseguida realizamos la conversión la cadena en areaEsfera (UTF-16) a UTF-8 | |
byte[] bytesUtf8 = Encoding.UTF8.GetBytes(areaEsfera); | |
// Escribimos este flujo reciente en el archivo de texto | |
archivoSalida.WriteLine("Bytes para UTF-8: {0}", BitConverter.ToString(bytesUtf8)); | |
// UTF-16 a ASCII | |
byte[] bytesAscii = Encoding.ASCII.GetBytes(areaEsfera); | |
// Escribimos en el archivo | |
archivoSalida.WriteLine("Bytes para ASCII: {0}", BitConverter.ToString(bytesAscii)); | |
// Revertimos las conversiones | |
// UTF-8 a UTF-16 | |
archivoSalida.WriteLine("Texto (UTF-16) para UTF-8: {0}", Encoding.UTF8.GetString(bytesUtf8)); | |
// ASCII a UTF-16 | |
archivoSalida.WriteLine("Texto (UTF-16) para ASCII: {0}", Encoding.ASCII.GetString(bytesAscii)); | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment