¡Hola a todos, acabo de comenzar a intentar aprender Java y me he encontrado con algo realmente confuso!Java Unicode Confusion
Estaba escribiendo un ejemplo del libro que estoy usando. Es para demostrar el tipo de datos char.
El código es el siguiente:
public class CharDemo
{
public static void main(String [] args)
{
char a = 'A';
char b = (char) (a + 1);
System.out.println(a + b);
System.out.println("a + b is " + a + b);
int x = 75;
char y = (char) x;
char half = '\u00AB';
System.out.println("y is " + y + " and half is " + half);
}
}
El bit que me confunde es la afirmación, char media = '\ u00AB'. El libro indica que \ u00AB es el código para el símbolo '1/2'. Como se describe, cuando compilo y ejecuto el programa desde cmd, el símbolo que se produce en esta línea es, de hecho, un '1/2'.
Así que todo parece estar funcionando como debería. Decidí jugar con el código y probar algunos unicodes diferentes. Busqué en Google varias tablas Unicode y encontré que ninguna de ellas es coherente con el resultado anterior.
En cada uno me pareció declaró que el código/u00AB no fuera por 'medio' y de hecho para esto:
http://www.fileformat.info/info/unic...r/ab/index.htm Entonces, ¿qué conjunto se JAVA con carácter, pensé que se suponía Unicode para ser solo eso, Uni, solo uno. He buscado durante horas y en ninguna parte puedo encontrar un juego de caracteres que indique que/u00AB es igual a 1/2, sin embargo, esto es lo que mi compilador de Java interpreta.
¡Debo perderme algo obvio aquí! ¡Gracias por cualquier ayuda!
recomiendo este artículo para ayudar a entender el problema que estamos enfrentando: [El Absoluto Cada mínimo de desarrollo de software absolutamente, positivamente debe saber acerca de Unicode y juegos de caracteres] (http://www.joelonsoftware.com/articles/Unicode.html) –