Есть такой код:
String testEmail = "player@gmail.com";
byte[] email = testEmail.getBytes(StandardCharsets.UTF_16);
В результате имею:
-2 -1 0 112 0 108 0 ...
-2 и -1 какой-то мусор получается или что это вообще? Так как потом последние два байта отсутствуют...
Это маркер последовательности байтов (byte order mark - BOM), вставляется для обозначения кодировки Юникод. По сути UTF-16 это 2 байта информации и этот маркер обозначается как 0xFEFF, но так как вы выводите по байту получается -2 и -1.
Чтобы избавиться от них, можете использовать StandardCharsets.UTF_16BE.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости