RGB565 in RGB entpacken
Lesen Sie einen 16-Bit-RGB565-Wert als gewöhnliche Farbe: 0xF800, also 63488, ist reines Rot, 255, 0, 0 und #FF0000. Fünf Bit Rot, sechs Bit Grün und fünf Bit Blau werden auf den vollen Bereich gestreckt, die gespeicherten Stufen bleiben sichtbar. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Wert
- 0xF800
- Wert
- 63.488
- RGB565 (Hex)
- 0xF800
- Red5
- 31
- Grün (6 Bit)
- 0
Dieser Konverter entpackt einen kompakten 16-Bit-RGB565-Farbwert in die vertrauten 8-Bit-Kanäle Rot, Grün und Blau. Er prüft, ob die Eingabe eine Ganzzahl im vorzeichenlosen 16-Bit-Bereich ist, trennt fünf rote, sechs grüne und fünf blaue Bits und skaliert anschließend jeden Kanal deterministisch auf 0 bis 255. Sie können eine Dezimalzahl oder einen Hexadezimalwert mit dem Präfix 0x eingeben und erhalten den ursprünglichen gepackten Wert, seine Bitfelder, eine RGB-Zeichenfolge sowie eine sechsstellige Hexadezimalfarbe.
Verstehen Sie den Aufbau von RGB565
RGB565 speichert eine Farbe in sechzehn statt in den vierundzwanzig Bits des üblichen 8-Bit-RGB. Die fünf höchstwertigen Bits stehen für Rot, die mittleren sechs für Grün und die fünf niedrigstwertigen für Blau. Grün erhält ein zusätzliches Bit, weil das menschliche Auge Änderungen in diesem Spektralbereich besonders fein wahrnimmt.
Zum Entpacken verschiebt und maskiert dieses Werkzeug die Ganzzahl. Dadurch entstehen Rotwerte von 0 bis 31, Grünwerte von 0 bis 63 und Blauwerte von 0 bis 31. Danach werden diese Komponenten mit verringerter Farbtiefe zusammen mit ihren erweiterten Entsprechungen ausgegeben.
Das Ergebnis eignet sich für Entwickler, die eine direkt darstellbare Farbe benötigen, ebenso wie für Techniker, die die genauen Bitfelder in Firmware, eingebetteten Framebuffern, Binärdateien oder Geräteprotokollen untersuchen möchten. Die vierstellige Hexadezimaldarstellung wird immer aufgefüllt, sodass führende Nullen sichtbar bleiben und Vergleiche eindeutig sind.
So werden reduzierte Kanäle zu 8-Bit-Werten
Ein reduzierter Kanal enthält nicht genug Informationen, um den ursprünglichen 8-Bit-Wert exakt wiederherzustellen. Das Entpacken liefert daher zwangsläufig eine Näherung. Dieser Konverter verwendet eine ausdrücklich proportionale Skalierung mit Rundung auf die nächste Ganzzahl.
Rot und Blau werden mit 255 multipliziert, durch 31 geteilt und gerundet; Grün wird mit 255 multipliziert, durch 63 geteilt und gerundet. Die Endpunkte stimmen damit genau: Null bleibt Null und der jeweilige Höchstwert wird 255. Zwischenwerte verteilen sich ohne Zufall oder umgebungsabhängiges Verhalten über den gesamten 8-Bit-Bereich.
Sie können diese Regel in JavaScript, C, Rust, Python oder einer Tabellenkalkulation reproduzieren und jeden Schritt anhand der ausgegebenen Komponenten prüfen. Manche Systeme erweitern Werte durch Bitwiederholung, was meist ähnlich, aber nicht immer identisch ausfällt. Hier ist die proportionale Regel fest dokumentiert, damit Tests und sprachübergreifende Vergleiche zuverlässig bleiben.
Geben Sie einen gültigen Wert ein
Geben Sie genau einen vorzeichenlosen RGB565-Wert als Dezimalzahl wie 63488 oder hexadezimal mit dem vorgeschriebenen Präfix 0x wie 0xF800 ein. Zulässig sind 0 bis 65535 einschließlich, da größere Werte nicht in sechzehn Bits passen. Negative Zahlen, Brüche, Hexadezimalbuchstaben ohne Präfix, nachgestellte Zeichen, Arrays und unpassende Objekte werden abgelehnt und nicht teilweise interpretiert.
Diese strenge Prüfung verhindert, dass etwa 65536 durch Überlauf zu Schwarz wird und einen vorgelagerten Datenfehler verdeckt. Die Ausgabe enthält den normalisierten Dezimalwert, den aufgefüllten RGB565-Hexwert, die ursprünglichen 5/6/5-Komponenten, die skalierten Zahlen r, g und b, eine rgb()-Zeichenfolge und einen sechsstelligen RGB-Hexwert. Sie können die Kanäle in Bildcode übernehmen, den Hexwert beim Debuggen vergleichen oder beide Darstellungen protokollieren.
Anwendungsfälle
Farben eingebetteter Displays untersuchen
Wandeln Sie Firmware- oder Framebuffer-Konstanten in bekannte RGB-Werte um und behalten Sie die ursprünglichen 5/6/5-Felder.
Binäre Grafikressourcen dekodieren
Entpacken Sie 16-Bit-Pixelwörter für Diagnose, Vorschau oder deterministische Konvertierung in 8-Bit-Kanäle.
Häufige Fragen
Welche Eingabeformate werden akzeptiert?
Verwenden Sie Dezimalziffern von 0 bis 65535 oder Hexadezimalwerte mit Präfix 0x, beispielsweise 63488 oder 0xF800.
Warum verwendet Grün sechs Bits?
RGB565 weist Grün sechs Bits und Rot sowie Blau je fünf Bits zu und bietet dadurch feinere Grünabstufungen in einem 16-Bit-Wort.
Lässt sich die ursprüngliche 8-Bit-Farbe exakt wiederherstellen?
Nein. Beim Packen gingen niederwertige Informationen verloren. Die ausgegebenen Kanäle sind deterministische Näherungen im gesamten Bereich von 0 bis 255.
Wie werden die Kanäle skaliert?
Rot und Blau verwenden round(Komponente × 255 ÷ 31); Grün verwendet round(Komponente × 255 ÷ 63).
Was passiert, wenn ich 65536 eingebe?
Der Wert wird abgelehnt. Ein RGB565-Wert muss in sechzehn Bit passen, erlaubt sind also 0 bis 65535; eine größere Zahl wird nicht still zu Schwarz, sodass Sie einen Fehler weiter vorne bemerken.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/color/rgb565-rgb \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":"0xF800"}'const res = await fetch("https://api.kit.forhosting.com/color/rgb565-rgb", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": "0xF800"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/rgb565-rgb",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": "0xF800"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/rgb565-rgb", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":"0xF800"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":"0xF800"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/rgb565-rgb", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"value": "0xF800"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.rgb565_rgb",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Geben Sie einen gültigen Wert ein
Automatisierte API-Aufrufe kosten jeweils $0.002.
Integrationsbeispiele
Sprachübergreifende Fixtures erstellen
Erzeugen Sie eindeutige gepackte und skalierte Werte zum Vergleich von RGB565-Implementierungen in Anwendungen, Geräten und Tests.
Technische Fragen
Was geschieht bei einem Wert außerhalb des Bereichs?
Die Anfrage liefert invalid_input, ohne Überlauf, Kürzung oder Auswertung zusätzlicher Bits.
Was kostet die Konvertierung per API?
Jede API-Anfrage kostet $0.002; Sie können die Umwandlung auch interaktiv im Browser ausführen.