Questi sono i motivi per cui mi ricordo che sono stati dati per non rendere UTF-8 o un'altra rappresentazione Unicode la codifica dei caratteri predefinita per il linguaggio di scripting Ruby, che è sviluppato principalmente in Giappone:
- Motivo 1: Unificazione Han .
I set di caratteri (non so se "alfabeti" sarebbero corretti qui) usati in Cina, Corea e Giappone sono tutti correlati, si sono evoluti dalla storia comune, non sono sicuro dei dettagli. Il consorzio Unicode ha deciso di sprecare un solo codice Unicode per codificare tutte le varianti (cinese, giapponese e coreano) dello stesso carattere storico, anche se il loro aspetto è diverso in tutte e 3 le lingue. Il loro ragionamento è che l'aspetto dovrebbe essere determinato dal carattere utilizzato per visualizzare il testo.
Apparentemente, questo ragionamento è percepito come ridicolo dagli utenti giapponesi, come sarebbe per sostenere i lettori inglesi che, poiché l'alfabeto latino si è sviluppato dall'alfabeto greco, è sufficiente avere un solo punto di codice per Alfa greca "α" e latina "a" e lasciare che l'aspetto sia deciso dal carattere in uso. (Lo stesso vale per "β"="b", "γ"="g", ecc.)
(Nota che non sarei in grado di includere qui i caratteri greci su stackexchange, se così fosse.)
- Motivo 2: conversioni di caratteri inefficienti.
La conversione di caratteri da Unicode a codifiche e legacy giapponesi precedenti richiede tabelle, vale a dire che non esiste un semplice calcolo dal valore del punto di codice Unicode al valore del punto di codice legacy e viceversa. C'è anche una perdita di informazioni durante la conversione perché non tutti i punti di codice in una codifica hanno una rappresentazione univoca nell'altra codifica.
Potrebbero esserci altre ragioni che non ricordo più.