FAQ
O que é codificação UTF-8?
UTF-8 é uma codificação de caracteres de comprimento variável para Unicode. Ele usa de 1 a 4 bytes para representar caracteres, tornando-o eficiente para codificar caracteres ASCII, ao mesmo tempo que oferece suporte a todos os caracteres Unicode.
Como esta ferramenta converte texto para UTF-8?
Esta ferramenta usa o TextEncoder embutido no navegador para codificar texto em UTF-8. Cada caractere é convertido em um ou mais bytes com base no seu ponto de código Unicode e, em seguida, formatado como sequências de escape hexadecimal (por exemplo, \xE4\xB8\xAD representa '中').
Como esta ferramenta converte UTF-8 para texto?
A ferramenta remove o prefixo \x da entrada e analisa os valores hexadecimais restantes em bytes. Esses bytes são então decodificados em texto usando o TextDecoder do navegador, reconstruindo os caracteres originais de acordo com as regras de codificação UTF-8.
Por que UTF-8 é amplamente utilizado?
UTF-8 é amplamente utilizado porque é compatível com ASCII, eficiente para codificar texto em inglês e capaz de codificar todos os caracteres Unicode. É a codificação padrão para páginas da web e muitos outros sistemas, garantindo consistência de texto entre plataformas.
Quais são os princípios da codificação UTF-8?
A codificação UTF-8 funciona agrupando pontos de código Unicode e codificando-os em sequências de bytes:
- Pontos de código de U+0000 a U+007F são codificados em um byte (compatível com ASCII).
- Pontos de código de U+0080 a U+07FF são codificados em dois bytes.
- Pontos de código de U+0800 a U+FFFF são codificados em três bytes.
- Pontos de código de U+10000 a U+10FFFF são codificados em quatro bytes.
Cada byte em uma sequência de múltiplos bytes começa com um padrão de bits específico para indicar seu papel na sequência, garantindo que o UTF-8 seja auto-sincronizável e resistente a erros.
Como implementar conversão de UTF-8 em diferentes linguagens de programação?
Aqui estão exemplos de como codificar uma string em bytes UTF-8 e decodificar bytes UTF-8 de volta para uma string em várias linguagens de programação:
Go
Exemplo de código Go: conversão de UTF-8.
import "fmt"
func main() {
text := "Hello, World!"
// Encode string to UTF-8 bytes
utf8Bytes := []byte(text)
fmt.Printf("UTF-8 bytes: %x\n", utf8Bytes)
// Decode UTF-8 bytes back to string
decodedText := string(utf8Bytes)
fmt.Printf("Decoded text: %s\n", decodedText)
}
Java
Exemplo de código Java: conversão de UTF-8.
import java.nio.charset.StandardCharsets;
public class Utf8Example {
public static void main(String[] args) {
String text = "Hello, World!";
// Encode string to UTF-8 bytes
byte[] utf8Bytes = text.getBytes(StandardCharsets.UTF_8);
System.out.println("UTF-8 bytes: " + java.util.Arrays.toString(utf8Bytes));
// Decode UTF-8 bytes back to string
String decodedText = new String(utf8Bytes, StandardCharsets.UTF_8);
System.out.println("Decoded text: " + decodedText);
}
}
Python
Exemplo de código Python: conversão de UTF-8.
text = "Hello, World!"
# Encode string to UTF-8 bytes
utf8_bytes = text.encode("utf-8")
print(f"UTF-8 bytes: {utf8_bytes}")
# Decode UTF-8 bytes back to string
decoded_text = utf8_bytes.decode("utf-8")
print(f"Decoded text: {decoded_text}")
PHP
Exemplo de código PHP: conversão de UTF-8.
<?php
$text = "Hello, World!";
// Encode string to UTF-8 bytes
$utf8Bytes = utf8_encode($text);
echo "UTF-8 bytes: " . bin2hex($utf8Bytes) . PHP_EOL;
// Decode UTF-8 bytes back to string
$decodedText = utf8_decode($utf8Bytes);
echo "Decoded text: " . $decodedText . PHP_EOL;
?>
JavaScript
Exemplo de código JavaScript: conversão de UTF-8.
const text = "Hello, World!";
// Encode string to UTF-8 bytes
const encoder = new TextEncoder();
const utf8Bytes = encoder.encode(text);
console.log("UTF-8 bytes:", Array.from(utf8Bytes));
// Decode UTF-8 bytes back to string
const decoder = new TextDecoder("utf-8");
const decodedText = decoder.decode(utf8Bytes);
console.log("Decoded text:", decodedText);
TypeScript
Exemplo de código TypeScript: conversão de UTF-8.
const text: string = "Hello, World!";
// Encode string to UTF-8 bytes
const encoder: TextEncoder = new TextEncoder();
const utf8Bytes: Uint8Array = encoder.encode(text);
console.log("UTF-8 bytes:", Array.from(utf8Bytes));
// Decode UTF-8 bytes back to string
const decoder: TextDecoder = new TextDecoder("utf-8");
const decodedText: string = decoder.decode(utf8Bytes);
console.log("Decoded text:", decodedText);