Как сделать так, чтобы появился символ стрелки вправо?Прямо сейчас это вопросительный знак при использовании "/ u2192" - PullRequest
0 голосов
/ 26 апреля 2019

Мне нужен символ стрелки вправо, и при поиске я нашел несколько страниц, говорящих, что написание "\u2192" будет работать. Я не получил сообщение об ошибке, но в выводе вместо стрелки есть знак вопроса. Я использую Java. В чем может быть проблема?

Я очень начинающий, так что, может быть, есть простое решение, но я, честно говоря, даже не знаю, с чего начать.

Это в основном код (но с более релевантными словами, чем «Слова»):

System.out.println("Words" + " \t" + "\u2192" + "More words");

Когда я печатаю его, я получаю:

Слова? Больше слов

То, что я хочу, это:

Слова Стрелка Больше слов

1 Ответ

1 голос
/ 26 апреля 2019

Символы на компьютерах представлены кодировками ; Разные компьютерные системы используют разные кодировки, и фактически разные средства на одном компьютере могут использовать разные кодировки. Кодировки представляют разные символы с разными значениями, поэтому ASCII 'A' равен 0x41 (шестнадцатеричный 41), но в EBCDIC это 0xCA.

Таким образом, мэйнфрейм-компьютеры IBM обычно используют кодировку EBCDIC; старые машины Unix, как правило, использовали кодировки ASCII (разных разновидностей), а современные системы, как правило, используют кодировку Unicode.

Чтобы любая компьютерная программа отображала вашу стрелку вправо, она должна понимать кодировку Unicode. Вам не нужно беспокоиться об этом для обычных печатаемых символов, потому что среда выполнения Java будет переводиться так, как необходимо для тех, которые - «a» в вашей программе Java будет выводиться в ASCII, Unicode, EBCDIC или любом другом, используемом во время выполнения. Но стрелка вправо не печатается, вы не можете поместить ее между кавычками (по крайней мере, не легко), и поэтому необработанное двоичное число помещается в поток. Он будет работать в системе, которая использует Unicode, но не любой другой.

Я не знаю символа со стрелкой вправо в других кодировках; предложение одного комментатора сделать стрелку вправо с печатными символами мне кажется довольно хорошим. Но именно поэтому ваша программа, хотя, возможно, и правильная, не выдает стрелку вправо в вашем выводе - все, что обрабатывает ваш вывод, не понимает символ Unicode.

...