Herramienta de Conversión UTF-8

Preguntas Frecuentes

¿Qué es la codificación UTF-8?

UTF-8 es una codificación de caracteres de longitud variable para Unicode. Utiliza de 1 a 4 bytes para representar caracteres, lo que la hace eficiente al codificar caracteres ASCII y, al mismo tiempo, compatible con todos los caracteres Unicode.

¿Cómo convierte este herramienta texto a UTF-8?

Esta herramienta utiliza el TextEncoder incorporado del navegador para codificar texto en UTF-8. Cada carácter se convierte en uno o más bytes según su punto de código Unicode, y luego se formatea como secuencias de escape hexadecimal (por ejemplo, \xE4\xB8\xAD representa '中').

¿Cómo convierte esta herramienta UTF-8 a texto?

La herramienta elimina el prefijo \x de la entrada y analiza los valores hexadecimales restantes como bytes. Luego, estos bytes se decodifican en texto utilizando el TextDecoder del navegador, reconstruyendo los caracteres originales según las reglas de codificación UTF-8.

¿Por qué se utiliza ampliamente UTF-8?

UTF-8 es ampliamente utilizado porque es compatible con ASCII, eficiente para codificar texto en inglés, y puede codificar todos los caracteres Unicode. Es la codificación predeterminada para páginas web y muchos otros sistemas, lo que garantiza la coherencia del texto entre plataformas.

¿Cuáles son los principios de la codificación UTF-8?

La codificación UTF-8 funciona agrupando puntos de código Unicode y codificándolos en secuencias de bytes:

  • Los puntos de código de U+0000 a U+007F se codifican en un solo byte (compatibles con ASCII).
  • Los puntos de código de U+0080 a U+07FF se codifican en dos bytes.
  • Los puntos de código de U+0800 a U+FFFF se codifican en tres bytes.
  • Los puntos de código de U+10000 a U+10FFFF se codifican en cuatro bytes.

Cada byte en una secuencia multibyte comienza con un patrón de bits específico para indicar su función en la secuencia, asegurando que UTF-8 sea autosincronizable y tolerante a errores.

¿Cómo implementar la conversión UTF-8 en diferentes lenguajes de programación?

A continuación, se muestran ejemplos de cómo codificar una cadena a bytes UTF-8 y decodificar bytes UTF-8 a una cadena en varios lenguajes de programación:

Go

Código de ejemplo en Go: conversión 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

Código de ejemplo en Java: conversión 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

Código de ejemplo en Python: conversión 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

Código de ejemplo en PHP: conversión 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

Código de ejemplo en JavaScript: conversión 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

Código de ejemplo en TypeScript: conversión 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);