Кодировка Java String (UTF-8)

Я наткнулся на эту строку устаревшего кода, которую пытаюсь понять:

String newString = new String(oldString.getBytes("UTF-8"), "UTF-8"));

Насколько я понимаю, это кодирование и декодирование используя тот же charSet.

Чем это отличается от следующего?

String newString = oldString;

Есть ли какой-либо сценарий, в котором две строки будут иметь разные выходные данные?

ps: Просто чтобы уточнить, да, я знаю отличную статью о кодировании Джоэл Спольски !

18
задан OceanBlue 13 January 2012 в 16:45
поделиться