On-line Codificação e descodificação UTF-8

Introdução da ferramenta

on-line UTF-8 Ferramentas de código

UTF-8 breve introdução

UTF-8 É uma espécie de Unicode Codificação de caracteres de comprimento variável para , Também conhecido como "código universal" .

UTF-8 utilização 1 alcance 6 Codificação de bytes UNICODE caractere .

UTF-8 Regras de codificação

Se houver apenas um byte, seu bit binário mais alto é: 0;

Se for multi bytes , O primeiro byte começa a partir do bit mais alto , Os valores binários consecutivos são: 1 O número de bytes determina o número de bytes que codifica , Os restantes bytes são representados por 10 iniciar .

UTF-8 O quadro de conversão é apresentado do seguinte modo: :
Unicode/UCS-4
bit número
UTF-8
byte número
observações
0000~
007F
0~7
0XXX XXXX
1
0080~
07FF
8~11
110X XXXX
10XX XXXX
2
0800~
FFFF
12~16
1110XXXX
10XX XXXX
10XX XXXX
3
Gama de definição básica :0~FFFF
1 0000~
1F FFFF
17~21
1111 0XXX
10XX XXXX
10XX XXXX
10XX XXXX
4
Unicode6.1 Intervalo de definição :0~10 FFFF
20 0000~
3FF FFFF
22~26
1111 10XX
10XX XXXX
10XX XXXX
10XX XXXX
10XX XXXX
5
explicar : Isto não é unicode Gama de codificação: , pertencer a UCS-4 código
Normas precoces UTF-8 Alcançável 6 Sequência de bytes , Pode ser substituído para 31 Bit ( Os limites originais do conjunto de caracteres universal ). Por tudo isso ,2003 ano 11 mês UTF-8 capa RFC 3629 Re especificação , Apenas o original Unicode Superfície definida ,U+0000 alcance U+10FFFF. De acordo com as especificações , Esses valores de byte não aparecerão em legal UTF-8 Em sequência
400 0000~
7FFF FFFF
27~31
1111 110X
10XX XXXX
10XX XXXX
10XX XXXX
10XX XXXX
10XX XXXX
6

UTF-8 vantagem

UTF-8 A codificação pode ser lida e escrita rapidamente mascarando bits e deslocando operações . Comparação de strings strcmp() e wcscmp() Os resultados de retorno de são os mesmos , Portanto, a classificação torna-se mais fácil . byte FF e FE ficar UTF-8 Nunca aparece no código , Portanto, eles podem ser usados para indicar UTF-16 ou UTF-32 texto ( ver BOM) UTF-8 É independente da ordem de bytes . Sua ordem de bytes é a mesma em todos os sistemas , Então não precisa BOM.

UTF-8 deficiência

Não podes UNICODE A julgar pelo número de caracteres UTF-8 Bytes de texto , porque UTF-8 É um código de comprimento variável. Ele precisa usar 2 Bytes que codificam aqueles com extensão ASCII O conjunto de caracteres só precisa 1 Caracteres dos bytes ISO Latin-1 sim UNICODE Subconjunto de , Mas não UTF-8 Subconjunto de 8 Caractere de bits UTF-8 A codificação será email Filtragem de Gateway , porque internet A informação foi originalmente concebida para: 7 posição ASCII código . Como resultado UTF-7 código . UTF-8 Utilizar valores na sua representação 100xxxxx A probabilidade de exceder 50%, Implementações existentes, tais como ISO 2022, 4873, 6429, e 8859 sistema , Vai confundi-lo com C1 Código de controlo . Como resultado UTF-7.5 código .