Java richiede 2 byte per rappresentare il carattere?

0

In generale un carattere è rappresentato in 1 byte, cioè 8 bit. Questo è vero per tutti gli editor di testo anche per database come Oracle. 1 byte può rappresentare 2 ^ 8 = 256 caratteri.
La mia domanda è quando il personaggio può essere rappresentato in 1 byte perché java richiede 2 byte per rappresentare il carattere? Qual è il ragionamento dietro di esso.

    
posta user3198603 06.07.2018 - 16:31
fonte

1 risposta

7

Java è stato sviluppato dopo l'invenzione di Unicode . Quindi usa parole a 16 bit per gestire fino a 65536 caratteri diversi. Unicode è destinato a gestire molti set di caratteri oltre alle lettere latine, come il greco o il cirillico.

Sfortunatamente, il consorzio Unicode non si rese conto che 65536 caratteri non sarebbero stati sufficienti. Così ora lo hanno esteso a caratteri a 21 bit. Questo lascia Java per usare la codifica UTF-16 per i suoi personaggi, che è un orribile bodge senza la pulizia di UTF-32 o la compattezza di UTF-8.

    
risposta data 06.07.2018 - 16:40
fonte

Leggi altre domande sui tag