Векторная стрелка сверху буквы как символ или строка - PullRequest
0 голосов
/ 18 декабря 2018

Есть ли возможность добавить букву с векторной стрелкой вверху к строке (в Java), как показано на рисунке ниже?Со специальным кодом ASCII или чем-то?

enter image description here

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

Вы хотите использовать 'СТРЕЛКА С ПРАВОЙ КОМБИНИРОВАНИЕЙ ВЫШЕ' (U + 20D7) кодовая точка:

System.out.println("a\u20D7");

Он должен отображаться как a⃗, но некоторые шрифты могут отображать его неправильно.

Концепция объединения символов описана в вики :

В цифровой типографии символы объединения - это символы, предназначенные для изменения других символов.Наиболее распространенные символы объединения в латинском алфавите - это объединение диакритических знаков (включая объединение акцентов).

Юникод также содержит множество предварительно составленных символов, так что во многих случаях можно использовать как объединение диакритических знаков, так и предварительно составленных символов,по выбору пользователя или приложения.Это приводит к требованию выполнить нормализацию Юникода перед сравнением двух строк Юникода и тщательно спроектировать конвертеры кодирования, чтобы правильно сопоставить все действительные способы представления символа в Юникоде с устаревшей кодировкой, чтобы избежать потери данных.

ВUnicode, основной блок объединения диакритических знаков для европейских языков и международного фонетического алфавита, - U + 0300 – U + 036F.Комбинированные диакритические знаки также присутствуют во многих других блоках символов Юникода.В Юникоде диакритические знаки всегда добавляются после основного символа (в отличие от некоторых более старых комбинированных наборов символов, таких как ANSEL), поэтому можно добавить несколько диакритических знаков к одному и тому же символу, хотя по состоянию на 2010 год лишь немногие приложения поддерживают правильное отображение таких символов.комбинации.

0 голосов
/ 18 декабря 2018

Да, вы можете сохранить его как char, так и String, потому что java занимает 2 байта для каждого символа и поддерживает Unicode (UTF-16) char (Начиная с java 9, java использует реализацию компактных строк, которая помогает java идентифицироватьтип char либо ASCII, либо UNICODE, и, соответственно, java берет 1 или 2 байта для каждого символа).

Более того, вы можете хранить любой символ мира внутри символа / строки java, например китайский, японский и т. д., так как он поддерживает UTF-16.

...