sobre Unicode
num dia bom, mankind inventou os computadores electrónicos. Eles foram escolhidos como uma ferramenta útil por várias pessoas em todo o mundo.Todos estavam felizes.
mas então, essas pessoas queriam enviar seu trabalho, histórias e piadas para o outro na forma de texto. E infelizmente, essas pessoas nunca conseguiram concordar em usar uma linguagem e sistema de escrita.Tudo bem, mas eles também não concordaram em usar um codificador para o seu texto.,
codificações legadas
você vê, os computadores não pensam em letras e linhas, mas em bits, BYT e números. Então nós, humanos, tivemos que arranjar uma maneira de representar textos como um monte de números… Fácil! Basta mapear um símbolo do seu sistema de escrita de escolha para um número que um computador pode lidar. Por exemplo, no texto que você está lendo agora, o alfabeto latino minúsculo, ato z, é tratado pelos números 97 a 122 inclusive. Mas nem todos com um computador sabem ler Latim., Estes tipos usam scripts como cirílico, grego, árabe, Han, Katanka e Kanji, e usaram o samenumbertrick para codificar o seu texto. Por exemplo, a letra cirílica Д(De) é codificada como o número 196 na codificação Windows-1251 onde na codificação estendida ASCII é’─’, uma linha vertical usada para desenhar caixas.
assim, antes de abrir um ficheiro de texto enviado pelo seu amigo do outro lado do mundo, primeiro tem de saber qual a codificação que usaram para escrever esse ficheiro. Você pode adivinhar,mas há muitos desses velhos encodings, quase 60!, Então, quando você abrir o arquivo, ele pode parecer algo parecido com isto:
O termo correto para isso é mojibake.
UTF-8
então como corrigimos o problema de ter todas estas codificações diferentes?Bem, a resposta é muito simples: basta criar uma única grande encoding que contenha todas as coisas e símbolos. Isto é Unicode. Unicodespecifica intervalos dos chamados códigos-pontos ou caracteres. Não é a codificação propriamente dita, que seria um dos formatos usados para codificar pontos Unicode. O formato Unicode mais usado é o isUTF-8., Existem outros formatos como UTF-16 e UTF-32, mas UTF-8 é o formato mais incrível para Unicode porque:
- Pode armazenar qualquer coisa.codificações antigas exigiriam que todo o documento fosse escrito usando a mesma codificação e, portanto, o sistema de escrita, inibindo o usuário de usar vários sistemas de escrita em um único documento. Com UTF-8users pode.
- Ele usa um comprimento de caracteres variável.Unicode tem espaço para até 4,294,967,296 (4 bytes = 32 bits = 2^32)pontos de código. Documentos e websites tornar-se-iam quatro vezes maiores quando cada personagem é de 4 bytes grandes., UTF-8 irá usar apenas onebyte para a maioria dos caracteres latinos e até quatro bytes para caracteres menos comuns.
- It is backward compatible with ASCII
The first 255 code-points encoded by UTF-8 are exactly the same asASCII. ASCII era um formato amplamente utilizado antes de UTF-8 se tornar popular.By sendo compatível Para Trás, os programas UTF-8 podem lidar com arquivos codificados em ASCII sem ter que re-codificá-los.
você ainda pode encontrar documentos ou sites que não usam UTF-8.Provavelmente em sites que usam uma língua oriental como o mandarim.Por quê?, Porque os donos do site não querem gastar o seu dinheiro com os custos da onbandwidth. Parece estranho? Deixa-me explicar. Documentos com um monte de caracteres latinos são menores em tamanho, uma vez que os caracteres mais comuns são apenas um byte grande. Outros sistemas de escrita são codificados em intervalos inunicódicos onde um único caractere pode ser até quatro bytes grandes! Estes documentos são simplesmente maiores do que os documentos escritos numa língua que utiliza caracteres latinos. Um exemplo deste fenômeno é o site social therussiano, vk.com., Este site usa o Windows-1251encoding uma vez que codifica o sistema de escrita Cirílico em widecharacters de um byte, economizando largura de banda.
hoje em dia, UTF-8 é o formato de texto mais usado na internet.It é também a espinha dorsal deste site, sem Unicode, Lenny e todos os outros dongers provavelmente seriam limitados ao ASCII characterrange.
Leave a Reply