Decompattatore RGB555 in canali RGB a 8 bit
Trasformi un numero RGB555 compattato in un normale RGB: 0x7C1F diventa rosso 255, verde 0 e blu 255. Ogni livello a cinque bit viene esteso all’intervallo completo da 0 a 255, così grafica retrò e dati di dispositivi diventano colori leggibili. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Valore
- 0x7C1F
- Valore
- 31.775
- Hex
- 0x7C1F
- Red
- 255
- Verde
- 0
Il decompattatore da RGB555 a RGB converte un colore unsigned a 15 bit in valori separati di rosso, verde e blu, adatti ai moderni flussi a 8 bit. Accetta testo decimale o esadecimale con prefisso 0x, convalida l’intero input, estrae i tre campi da cinque bit e ridimensiona ciascuno nell’intervallo da 0 a 255. Il risultato conserva anche i componenti originali e una rappresentazione esadecimale normalizzata, così Lei può ispezionare, confrontare, verificare o integrare facilmente la conversione.
Comprendere la disposizione dei bit RGB555
RGB555 memorizza tre canali di colore in quindici bit significativi. In questo strumento, i bit da 14 a 10 contengono il rosso, quelli da 9 a 5 il verde e quelli da 4 a 0 il blu. Ogni campo rappresenta quindi un intero da 0 a 31.
Il valore unsigned accettato deve essere compreso tra 0 e 32767; un sedicesimo bit non viene considerato trasparenza, intensità o padding. Lei può fornire testo decimale, per esempio 31775, oppure esadecimale con prefisso 0x esplicito, come 0x7C1F. L’output include una forma esadecimale normalizzata a quattro cifre, ogni componente originale a cinque bit e il corrispondente canale ampliato a otto bit.
In questo modo è semplice confrontare il risultato con dump di memoria e documentazione dei formati, verificando maschere e shift senza eseguirli manualmente.
Trasformare cinque bit in otto bit
Dopo l’estrazione, ogni componente viene distribuito sull’intero intervallo a otto bit con la formula round(componente × 255 ÷ 31). Il valore memorizzato 0 diventa 0 e 31 diventa 255. I valori intermedi sono deterministici.
È un’espansione numerica, non il recupero di informazioni cromatiche assenti: RGB555 dispone soltanto di 32 livelli per canale. La regola è esplicita perché alcuni convertitori usano uno shift a sinistra, che raggiunge 248, oppure replicano i bit.
Convalidare colori compattati nei flussi reali
Usi il decompattatore per grafica rétro, display integrati, texture, record binari, stati di emulatori o formati che dichiarano RGB555 con il rosso nel campo più significativo. BGR555 inverte le posizioni, mentre RGB565 assegna sei bit al verde: tali formati non vengono dedotti. Testo non valido, segni, frazioni, cifre esadecimali senza 0x, caratteri finali e valori fuori dall’intervallo unsigned a 15 bit sono rifiutati senza parsing parziale.
Pertanto 123abc non diventa silenziosamente 123. Poiché l’algoritmo non usa rete, casualità, orologio, parsing locale o stato mutabile, lo stesso input valido produce sempre lo stesso output.
Casi d'uso
Esaminare i colori dei giochi rétro
Converta le voci di palette compattate in canali a 8 bit conservando i componenti a cinque bit per il debug.
Convalidare dati di display integrati
Controlli registri o buffer RGB555 e rifiuti i valori oltre l’intervallo unsigned a 15 bit.
Preparare record colore decodificati
Trasformi valori esadecimali o decimali in campi numerici denominati per test, migrazioni o analisi.
Domande frequenti
Quale ordine dei bit usa il decompattatore?
Il rosso occupa i bit 14–10, il verde i bit 9–5 e il blu i bit 4–0.
Come vengono ampliati i canali a cinque bit?
Ogni componente segue round(componente × 255 ÷ 31), producendo un intero da 0 a 255.
Posso inserire un valore esadecimale?
Sì. Usi il prefisso 0x, per esempio 0x7C1F. Le cifre esadecimali senza prefisso vengono rifiutate.
Accetta RGB565 o BGR555?
No. Questi layout assegnano o ordinano i bit diversamente; viene decodificato solo RGB555 come documentato.
Che cosa accade al bit 15?
I valori superiori a 0x7FFF vengono rifiutati. Il bit superiore non viene interpretato come alfa o flag.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/color/rgb555-rgb \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":"0x7C1F"}'const res = await fetch("https://api.kit.forhosting.com/color/rgb555-rgb", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": "0x7C1F"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/rgb555-rgb",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": "0x7C1F"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/rgb555-rgb", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":"0x7C1F"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":"0x7C1F"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/rgb555-rgb", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"value": "0x7C1F"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.rgb555_rgb",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Trasformare cinque bit in otto bit
Questa capacità applica sempre la formula indicata e restituisce JSON stabile nell’API e nel browser. I campi red_5bit, green_5bit e blue_5bit restano nella risposta, consentendo a Lei di controllare le maschere o di applicare successivamente una diversa convenzione richiesta da un formato legacy.
Convalidare colori compattati nei flussi reali
Per automatizzare, invii un valore per richiesta e utilizzi i campi numerici denominati. Il prezzo base dell’API è $0.002 per richiesta.