Задать вопрос
@artemfisher

Почему String.codePointCount() возвращает 2 для символа ©?

Добрый день!

String s="©️";		
int r=s.codePointCount(0, s.length());
		
System.out.println(s.length());
System.out.println(r);


На выходуе:
2
2

Хотя по логике codePointCount() должен возвращать 1.
  • Вопрос задан
  • 84 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
xez
@xez Куратор тега Java
TL Junior Roo
Потому, что в той строке два симовола:
"©️"
© и пробел.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Mercury13
Программист на «си с крестами» и не только
Он не прав.
Второй символ не пробел, а селектор начертания 16.
Используется во многих символах базовой плоскости, чтобы превратить их в эмодзи.
А уж в символах двойного назначения — и типографский, и эмодзи — и подавно.
67253fc645640534308923.png
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы