Essas são as razões pelas quais me lembro de não terem transformado em UTF-8 ou outra representação Unicode a codificação de caracteres padrão para a linguagem de script Ruby, desenvolvida principalmente no Japão:
- Razão 1: unificação Han . Os conjuntos de caracteres (não tenho certeza se "alfabetos" estariam corretos aqui) usados China, Coréia e Japão são todos relacionados, evoluíram a partir da história comum, não tendo certeza dos detalhes. O consórcio Unicode decidiu desperdiçar apenas um único ponto de código Unicode para codificar todas as variantes (chinês, japonês e coreano) do mesmo caractere histórico, mesmo que sua aparência seja diferente nos três idiomas. O raciocínio deles é que a aparência deve ser determinada pela fonte usada para exibir o texto.
Aparentemente, esse raciocínio é tão ridículo para os usuários japoneses quanto seria para argumentar aos leitores de inglês que, como o alfabeto latino se desenvolveu a partir do alfabeto grego, é suficiente ter apenas um único código para o alfa grego " α "e latim" a "e deixe a aparência ser decidida pela fonte em uso. (O mesmo para "β" = "b", "γ" = "g" etc.)
(Observe que eu não seria capaz de incluir caracteres gregos aqui no stackexchange, se fosse esse o caso.)
- Razão 2: conversões ineficientes de caracteres.
A conversão de caracteres de Unicode em codificações e vice-versa japonesas herdadas requer tabelas, ou seja, não há computação simples do valor do ponto de código Unicode para o valor do ponto de código herdado e vice-versa. Além disso, há alguma perda de informações durante a conversão, porque nem todos os pontos de código em uma codificação têm uma representação exclusiva na outra codificação.
Podem ter sido dadas mais razões pelas quais não me lembro mais.