Codificación de caracteres UTF-16 de Java
Estaba tratando de entender la codificación de caracteres en Java. Los caracteres en Java se almacenan en 16 bits utilizando la codificación UTF-16. Entonces, mientras estoy convirtiendo una cadena que contiene 6 caracteres a byte, obtengo 6 bytes como se muestra a continuación, espero que sea 12. ¿Hay algún concepto que me esté perdiendo?
package learn.java;
public class CharacterTest {
public static void main(String[] args) {
String str = "Hadoop";
byte bt[] = str.getBytes();
System.out.println("the length of character array is " + bt.length);
}
}
O / p: la longitud de la matriz de caracteres es 6
Según @Darshan, cuando se intenta con la codificación UTF-16 para obtener bytes, el resultado tampoco se espera.
package learn.java;
public class CharacterTest {
public static void main(String[] args) {
String str = "Hadoop";
try{
byte bt[] = str.getBytes("UTF-16");
System.out.println("the length of character array is " + bt.length);
}
catch(Exception e)
{
}
}
}
o/p: the length of character array is 14