Символы на компьютерах представлены кодировками ; Разные компьютерные системы используют разные кодировки, и фактически разные средства на одном компьютере могут использовать разные кодировки. Кодировки представляют разные символы с разными значениями, поэтому ASCII 'A' равен 0x41 (шестнадцатеричный 41), но в EBCDIC это 0xCA.
Таким образом, мэйнфрейм-компьютеры IBM обычно используют кодировку EBCDIC; старые машины Unix, как правило, использовали кодировки ASCII (разных разновидностей), а современные системы, как правило, используют кодировку Unicode.
Чтобы любая компьютерная программа отображала вашу стрелку вправо, она должна понимать кодировку Unicode. Вам не нужно беспокоиться об этом для обычных печатаемых символов, потому что среда выполнения Java будет переводиться так, как необходимо для тех, которые - «a» в вашей программе Java будет выводиться в ASCII, Unicode, EBCDIC или любом другом, используемом во время выполнения. Но стрелка вправо не печатается, вы не можете поместить ее между кавычками (по крайней мере, не легко), и поэтому необработанное двоичное число помещается в поток. Он будет работать в системе, которая использует Unicode, но не любой другой.
Я не знаю символа со стрелкой вправо в других кодировках; предложение одного комментатора сделать стрелку вправо с печатными символами мне кажется довольно хорошим. Но именно поэтому ваша программа, хотя, возможно, и правильная, не выдает стрелку вправо в вашем выводе - все, что обрабатывает ваш вывод, не понимает символ Unicode.