¿Cómo poner un carácter Unicode suplementario (por ejemplo, codepoint 10400) en un literal de cadena? He intentado poner un par suplente como esto:¿Cómo poner un carácter Unicode suplementario en un literal de cadena?
String text = "TEST \uD801\uDC00";
System.out.println(text);
pero no parece funcionar.
ACTUALIZACIÓN:
La buena noticia es, la cadena se construye correctamente.
matriz de bytes en UTF-8: 54 45 53 54 20 f0 90 90 80
matriz de bytes en UTF-16: Fe ff 0 54 0 45 0 53 0 54 0 20 d8 1 dc 0
Pero la mala la noticia es que no se imprime correctamente (en mi cuadro de Fedora) y puedo ver un cuadrado en lugar del símbolo esperado (mi consola no admite el Unicode correctamente).
¿Qué quiere decir cuando se dice que no parecen funcionar? ¿Cuál es el valor de 'text.charAt (5)'? – Mats
No imprime el símbolo correctamente. Podría ser algo con el flujo de salida. – n0rm1e
Creo que "una pequeña caja" se usa para representar un personaje que el sistema no puede mostrar. Esto puede significar simplemente que la fuente que se utiliza en la pantalla donde intenta ver la salida no proporciona un glifo para ese personaje. – neuralmer