Я действительно запутался в отношении кодирования строк в Java. У меня есть несколько вопросов. Пожалуйста, помогите мне, если вы знаете ответ на них:
1) Какова внутренняя кодировка строк Java в памяти? Когда я пишу String a = "Hello"
, в каком формате он будет сохранен? Поскольку Java является независимой от машины, я не думаю, что система выполнит кодировку.
2) Я прочитал в сети, что "UTF-16" является кодировкой по умолчанию, но я запутался, потому что, когда я пишу, что int a = 'c'
, я получаю номер символа в таблице ASCII. Точно так же ASCII и UTF-16?
3) Также я не был уверен в том, что зависит от хранения строки в памяти: OS, language?