Conversor de charsets e reparo de mojibake
Transforme texto em bytes e bytes em texto em catorze charsets, do UTF-8, UTF-16 e UTF-32 ao windows-1252, IBM 850 e EBCDIC, com cada byte malformado substituído exatamente como um navegador substitui. Cole um dump hexadecimal, escapes, %XX ou Base64, compare o que cada charset faz dos mesmos bytes e devolva um texto embaralhado como café ao que ele era.
Codificação e dadosRoda no seu navegador. Nada do que você cola sai da página.
27 caracteres viraram 32 bytes em UTF-8.
Os bytes
52 65 71 75 69 73 69 C3 A7 C3 A3 6F 20 62 6C 6F 71 75 65 61 64 61 20 E2 80 93 20 63 61 66 C3 A9Caractere por caractere
| Caractere | Ponto de código | Bytes em UTF-8 |
|---|---|---|
| R | U+0052 | 52 |
| e | U+0065 | 65 |
| q | U+0071 | 71 |
| u | U+0075 | 75 |
| i | U+0069 | 69 |
| s | U+0073 | 73 |
| i | U+0069 | 69 |
| ç | U+00E7 | C3 A7 |
| ã | U+00E3 | C3 A3 |
| o | U+006F | 6F |
U+0020 | 20 | |
| b | U+0062 | 62 |
| l | U+006C | 6C |
| o | U+006F | 6F |
| q | U+0071 | 71 |
| u | U+0075 | 75 |
| e | U+0065 | 65 |
| a | U+0061 | 61 |
| d | U+0064 | 64 |
| a | U+0061 | 61 |
U+0020 | 20 | |
| – | U+2013 | E2 80 93 |
U+0020 | 20 | |
| c | U+0063 | 63 |
| a | U+0061 | 61 |
| f | U+0066 | 66 |
| é | U+00E9 | C3 A9 |
O mesmo texto em todos os charsets
Quantos bytes cada charset precisa e quantos caracteres do texto ele não comporta (escritos como ?). O charset escolhido aparece destacado.
| Charset | Bytes | Hexadecimal | Não comporta |
|---|---|---|---|
| UTF-8 | 32 | 52 65 71 75 69 73 69 C3 A7 C3 A3 6F 20 62 6C 6F 71 75 65 61 64 61 20 E2 … | |
| UTF-16LE | 54 | 52 00 65 00 71 00 75 00 69 00 73 00 69 00 E7 00 E3 00 6F 00 20 00 62 00 … | |
| UTF-16BE | 54 | 00 52 00 65 00 71 00 75 00 69 00 73 00 69 00 E7 00 E3 00 6F 00 20 00 62 … | |
| UTF-32LE | 108 | 52 00 00 00 65 00 00 00 71 00 00 00 75 00 00 00 69 00 00 00 73 00 00 00 … | |
| UTF-32BE | 108 | 00 00 00 52 00 00 00 65 00 00 00 71 00 00 00 75 00 00 00 69 00 00 00 73 … | |
| US-ASCII | 27 | 52 65 71 75 69 73 69 3F 3F 6F 20 62 6C 6F 71 75 65 61 64 61 20 3F 20 63 … | 4 |
| ISO-8859-1 (Latin-1) | 27 | 52 65 71 75 69 73 69 E7 E3 6F 20 62 6C 6F 71 75 65 61 64 61 20 3F 20 63 … | 1 |
| windows-1252 | 27 | 52 65 71 75 69 73 69 E7 E3 6F 20 62 6C 6F 71 75 65 61 64 61 20 96 20 63 … | |
| ISO-8859-15 (Latin-9) | 27 | 52 65 71 75 69 73 69 E7 E3 6F 20 62 6C 6F 71 75 65 61 64 61 20 3F 20 63 … | 1 |
| Mac OS Roman | 27 | 52 65 71 75 69 73 69 8D 8B 6F 20 62 6C 6F 71 75 65 61 64 61 20 D0 20 63 … | |
| IBM 437 (DOS, EUA) | 27 | 52 65 71 75 69 73 69 87 3F 6F 20 62 6C 6F 71 75 65 61 64 61 20 3F 20 63 … | 2 |
| IBM 850 (DOS, Europa Ocidental) | 27 | 52 65 71 75 69 73 69 87 C6 6F 20 62 6C 6F 71 75 65 61 64 61 20 3F 20 63 … | 1 |
| IBM 037 (EBCDIC, EUA e Canadá) | 27 | D9 85 98 A4 89 A2 89 48 46 96 40 82 93 96 98 A4 85 81 84 81 40 6F 40 83 … | 1 |
| IBM 500 (EBCDIC, Internacional) | 27 | D9 85 98 A4 89 A2 89 48 46 96 40 82 93 96 98 A4 85 81 84 81 40 6F 40 83 … | 1 |
Estes bytes em UTF-8, lidos em cada charset
O que cada charset faz dos mesmos bytes. A linha do charset em que eles foram escritos é o próprio texto; todas as outras são o mojibake que um palpite errado produz. Controles e caracteres de substituição aparecem como etiquetas.
| Charset | Fica | Substituídos |
|---|---|---|
| UTF-8 | Requisição bloqueada – café | |
| UTF-16LE | 敒畱獩썩쎧澣戠潬畱慥慤鎀挠晡꧃ | |
| UTF-16BE | 剥煵楳槃ꟃꍯU+2062汯煵敡摡⃢肓U+2063慦쎩 | |
| UTF-32LE | �U+FFFD�U+FFFD�U+FFFD�U+FFFD�U+FFFD�U+FFFD�U+FFFD�U+FFFD | 8 |
| UTF-32BE | �U+FFFD�U+FFFD�U+FFFD�U+FFFD�U+FFFD�U+FFFD�U+FFFD�U+FFFD | 8 |
| US-ASCII | Requisi�U+FFFD�U+FFFD�U+FFFD�U+FFFDo bloqueada �U+FFFD�U+FFFD�U+FFFD caf�U+FFFD�U+FFFD | 9 |
| ISO-8859-1 (Latin-1) | Requisição bloqueada âU+0080U+0093 café | |
| windows-1252 | Requisição bloqueada – café | |
| ISO-8859-15 (Latin-9) | Requisição bloqueada âU+0080U+0093 café | |
| Mac OS Roman | Requisição bloqueada – café | |
| IBM 437 (DOS, EUA) | Requisição bloqueada – café | |
| IBM 850 (DOS, Europa Ocidental) | Requisi├º├úo bloqueada ÔÇô caf├® | |
| IBM 037 (EBCDIC, EUA e Canadá) | êÁÉÍÑËÑCxCt?U+0080Â%?ÉÍÁ/À/U+0080SØlU+0080Ä/ÃCz | |
| IBM 500 (EBCDIC, Internacional) | êÁÉÍÑËÑCxCt?U+0080Â%?ÉÍÁ/À/U+0080SØlU+0080Ä/ÃCz |
Referências
- WHATWG Encoding Standard (Living Standard, last updated 21 May 2026)
- WHATWG Encoding Standard: index-windows-1252.txt
- WHATWG Encoding Standard: index-iso-8859-15.txt
- WHATWG Encoding Standard: index-macintosh.txt
- The Unicode Standard 18.0.0, chapter 3: Conformance (3.9 encoding forms, 3.9.6 U+FFFD substitution of maximal subparts, 3.10 encoding schemes)
- Unicode FAQ: UTF-8, UTF-16, UTF-32 & BOM
- Unicode Consortium archived mapping: VENDORS/MICSFT/PC/CP437.TXT
- Unicode Consortium archived mapping: VENDORS/MICSFT/PC/CP850.TXT
- Unicode Consortium archived mapping: VENDORS/MICSFT/EBCDIC/CP037.TXT
- Unicode Consortium archived mapping: VENDORS/MICSFT/EBCDIC/CP500.TXT
- Unicode Consortium mapping: ISO8859/8859-1.TXT
- Unicode Consortium: Public/MAPPINGS/ReadMe.txt (updated 2025-10-23)
- RFC 3629: UTF-8, a transformation format of ISO 10646
- RFC 2781: UTF-16, an encoding of ISO 10646
- RFC 4648: The Base16, Base32, and Base64 Data Encodings
- RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
- WHATWG URL Standard: percent-decode