UTF-8 Konvertierungstool

Häufig gestellte Fragen

Was ist UTF-8?

UTF-8 ist eine Zeichencodierung mit variabler Länge für Unicode. Sie verwendet 1 bis 4 Bytes, um Zeichen darzustellen – effizient für ASCII-Zeichen und in der Lage, alle Unicode-Zeichen zu codieren.

Wie konvertiert dieses Tool Text in UTF-8?

Das Tool verwendet den im Browser integrierten TextEncoder, um Text in UTF-8 zu kodieren. Jedes Zeichen wird basierend auf seinem Unicode-Codepunkt in ein oder mehrere Bytes umgewandelt und als Escape-Sequenz im Hexadezimalformat dargestellt (z. B. \xE4\xB8\xAD für '中').

Wie konvertiert dieses Tool UTF-8 in Text?

Das Tool entfernt die \x-Präfixe aus der Eingabe und interpretiert die verbleibenden Hexadezimalwerte als Bytes. Diese Bytes werden dann mit dem TextDecoder des Browsers gemäß den UTF-8-Regeln wieder in Text dekodiert.

Warum wird UTF-8 so häufig verwendet?

UTF-8 ist weit verbreitet, weil es mit ASCII rückwärtskompatibel ist, effizient für englischen Text und in der Lage, alle Unicode-Zeichen zu codieren. Es ist die Standardcodierung für Webseiten und viele Systeme und gewährleistet plattformübergreifende Konsistenz.

Wie funktioniert die UTF-8-Codierung?

Die UTF-8-Codierung funktioniert durch Umwandlung von Unicode-Codepunkten in Bytefolgen:

  • Codepunkte von U+0000 bis U+007F werden mit einem Byte codiert (kompatibel mit ASCII).
  • Codepunkte von U+0080 bis U+07FF werden mit zwei Bytes codiert.
  • Codepunkte von U+0800 bis U+FFFF werden mit drei Bytes codiert.
  • Codepunkte von U+10000 bis U+10FFFF werden mit vier Bytes codiert.

Jedes Byte in einer Mehrbyte-Sequenz beginnt mit einem bestimmten Bitmuster, das seine Rolle kennzeichnet – das macht UTF-8 fehlertolerant und selbstsynchronisierend.

Wie implementiert man UTF-8-Konvertierung in verschiedenen Programmiersprachen?

Hier sind Beispiele, wie man Zeichenketten in UTF-8-Bytes codiert und UTF-8-Bytes zurück in Zeichenketten dekodiert – in verschiedenen Programmiersprachen:

Go

Beispiel in Go: UTF-8-Konvertierung.


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

Beispiel in Java: UTF-8-Konvertierung.


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

Beispiel in Python: UTF-8-Konvertierung.


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

Beispiel in PHP: UTF-8-Konvertierung.


<?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

Beispiel in JavaScript: UTF-8-Konvertierung.


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

Beispiel in TypeScript: UTF-8-Konvertierung.


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);