Я пытался понять кодировку символов в Java. Символы в Java хранятся в 16 бит с использованием кодировки UTF-16. Поэтому, когда я конвертирую строку, содержащую 6 символов в байт, я получаю 6 байтов, как показано ниже, я ожидаю, что это будет 12. Есть ли какая-то концепция, которую я не вижу?
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: длина массива символов равна 6
В соответствии с @Darshan При попытке кодирования UTF-16 для получения байтов результат также не ожидается.
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