2015-08-02 13 views
10

Różnica między uppercase i titlecase. Szczerze mówiąc, nigdy wcześniej nie słyszałem o titlecase.Różnica między dużymi literami a tytułami tytułowymi

w Javie istnieją metody oddzielne dla obu:

  • Character.isTitleCase(char)
  • Character.isUpperCase(char)

Niektóre strony internetowe zdefiniować następująco:

TitleCase: mecze znaki , które łączą w sobie wielką literę z małej litery, takich jak Nj i Dz

Ale musi być bardziej do niego: metoda isTitleCase(char) akceptuje tylko 1 znak. Tak więc - jeśli tak było - ta metoda wymagałaby co najmniej 2 znaków.

+2

Co ma tytuł dotyczący pytania? –

+0

mój błąd, robiłem 2 pytania w tym samym czasie. Dzięki za poprawienie. – bvdb

Odpowiedz

11

Przyjmuje tylko jedną znak Unicode Unicode. Okazuje się, że DŽ jest w rzeczywistości tylko jedną postacią: zobacz, jak wygląda w czcionce o stałej szerokości: . Wersja titlecase to Dž i istnieje również mała wersja dž.

+0

Wow, nie miałem pojęcia! Sądzę, że to jest coś, co jest używane w konkretnych językach? (nie w języku angielskim czy francuskim prawda?) – bvdb

+0

Najbliższa sytuacja, jaką mogę wymyślić, to - i ... ale zachowują się inaczej: http://www.fileformat.info/info/unicode/char/0153/index.htm – Glorfindel

+2

@ bvdb Powodem tego jest kompatybilność w czasie rzeczywistym ze starszymi kodowaniami, w których takie rzeczy wystąpiły. Na przykład w kodowaniu MacRoman, bajt 0xDE odwzorowuje na U + FB01 'LATIN SMALL LIGATURE FI' (czyli znak ** fi **) i bajt 0xDF odwzorowuje na U + FB02' LATIN SMALL LIGATURE FL' (a ** fl ** postać). Gwarancje w obie strony pozwalają na bezstratną konwersję z MacRoman na Unicode i powrót do MacRoman ponownie bez żadnych zmian. – tchrist