none
Juego de Caracteres predeterminado RRS feed

  • Pregunta

  • Hola a todos:

    Me gustaría saber en qué juego de caracteres codifica el editor de Visual Estudio las cadenas de caracteres.

    Supongo que tendrá varias posibilidades. En mi caso utilizo Windows XP versión 2002 Service Pack 3.

    ¿Cómo puedo saber en qué juego de caracteres tengo una cadena escrita directamente en Visual Studio?

    Por ejemplo, en el siguiente código, cómo se codifica mens1.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace ConversiónUTF8
    {
        class Program
        {
            static void Main(string[] args)
            {
                byte[] bytes = new byte[1024];
    
                string mens1 = "Año bisiesto á é í ó ú";
    
                // byte[] bmens1 = Encoding.UTF8.GetBytes(mens1);
                // byte[] bmens1 = Encoding.UTF32.GetBytes(mens1);
                byte[] bmens1 = Encoding.ASCII.GetBytes(mens1);
    
                string mens2 = Encoding.UTF8.GetString(bmens1);
                string mens3 = Encoding.Unicode.GetString(bmens1);
                string mens4 = Encoding.ASCII.GetString(bmens1);
                string mens5 = Encoding.UTF32.GetString(bmens1);
    
                Console.WriteLine(mens1);
                Console.WriteLine(mens2);
                Console.WriteLine(mens3);
                Console.WriteLine(mens4);
                Console.WriteLine(mens5);
                Console.ReadLine();
            }
        }
    }
    

    Muchas gracias

     

     


    Atentamente José Luis Torre
    martes, 24 de enero de 2012 11:17

Respuestas

  • Me gustaría saber en qué juego de caracteres codifica el editor de Visual Estudio las cadenas de caracteres.

    Visual Studio guarda internamente todas las cadenas en UNICODE, usando 16 bits para cada carácter. El editor normalmente guarda el fichero en disco usando UTF-8.

    Para convertir desde ese formato interno a otro formato, puedes usar los métodos GetBytes y GetString de System.Text.Encoding. GetBytes te saca un array de bytes a partir de un String, pasando de Unicode (el formato interno) al formato que hayas especificado en el Encoding. Y GetString hace lo contrario: pasa de los bytes en un formato determinado a Unicode.

     

    jueves, 26 de enero de 2012 8:09