2015-08-02 17 views
10

Qual è la differenza tra uppercase e titlecase. Francamente, non ho mai sentito parlare di titlecase prima.Differenza tra maiuscolo e titlecase

in Java ci sono metodi separati per entrambi:

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

Alcuni siti web definiscono come segue:

Titlecase: corrisponde ai caratteri che combinano una lettera maiuscola con una lettera minuscola, come Nj e Dz

Ma ci deve essere più ad esso: il metodo isTitleCase(char) accetta solo 1 carattere. Quindi, se questo fosse il caso, allora questo metodo avrebbe bisogno di almeno 2 caratteri.

+2

Che titolo ha a che fare con la domanda? –

+0

il mio errore, stava facendo 2 domande allo stesso tempo. Grazie per la correzione. – bvdb

risposta

11

Accetta solo un carattere Unicode. Si scopre che DŽ in realtà è solo un carattere: guarda come appare nel carattere monospazio: DŽ. La versione titlecase è Dž e esiste anche una versione minuscola dž.

+0

wow, non ne avevo idea! Immagino che questo sia qualcosa che viene usato in lingue specifiche? (non in inglese o francese vero?) – bvdb

+0

La situazione più vicina a cui riesco a pensare è œ e æ, ma si comportano diversamente: http://www.fileformat.info/info/unicode/char/0153/index.htm – Glorfindel

+2

@ bvdb La ragione per cui questo accade è per la compatibilità di andata e ritorno con le codifiche legacy in cui tali eventi si sono verificati. Ad esempio, nella codifica MacRoman, il byte 0xDE esegue la mappatura su U + FB01 'LATIN SMALL LIGATURE FI' (quindi un ** carattere **) e il byte 0xDF esegue la mappatura su U + FB02' LATIN SMALL LIGATURE FL' (a ** fl ** carattere). Le garanzie di andata e ritorno ti consentono di convertire senza perdita da MacRoman in Unicode e di tornare nuovamente a MacRoman senza modifiche. – tchrist