ANSI-Truecolor-Generator
Der Generator für ANSI-Truecolor-Escape-Sequenzen wandelt eine vertraute Hexadezimal- oder RGB-Farbe in genau die Select-Graphic-Rendition-Anweisung um, die Terminals mit Unterstützung für 24-Bit-Farben verwenden.
Im Browser ausführen – kostenlos
Geben Sie einen kurzen oder vollständigen Hexadezimalwert oder eine rgb()-Farbe ein und wählen Sie Vorder- oder Hintergrund. Das Ergebnis enthält das echte Escape-Zeichen zur direkten Nutzung, eine sichtbar maskierte Form für Quellcode und Konfiguration, die normalisierten Kanäle sowie die standardmäßige Rücksetzsequenz. Die Umwandlung ist deterministisch, schnell und für Shell-Werkzeuge, Build-Skripte, Protokollsysteme und Befehlszeilenoberflächen geeignet.
Wählen Sie Farbe und den zu ändernden Terminalbereich
Beginnen Sie mit einer Farbe in einem der unterstützten Formate: dreistelliges Hexadezimalformat wie <code>#3af</code>, sechsstelliges Hexadezimalformat wie <code>#33AAFF</code>, dieselben sechs Stellen ohne Raute oder eine RGB-Funktion wie <code>rgb(51, 170, 255)</code>. Bei hexadezimalen Buchstaben spielt die Groß- und Kleinschreibung keine Rolle; Leerzeichen innerhalb der RGB-Funktion sind erlaubt. Jeder RGB-Kanal muss eine ganze Zahl zwischen null und 255 sein. Wählen Sie anschließend, ob die Farbe für den Vordergrund, normalerweise den Text, oder für den Hintergrund dahinter gelten soll. Standardmäßig wird der Vordergrund verwendet, da dies für Befehlsausgaben am häufigsten benötigt wird. Der Generator erweitert verkürzte Hexadezimalwerte, normalisiert die endgültige Farbe als sechsstelligen Hexadezimalwert in Großbuchstaben und gibt den roten, grünen und blauen Kanal dezimal zurück. Dadurch können Sie das Ergebnis leicht prüfen, bevor Sie es in ein Skript einsetzen. Alphakanäle, CSS-Farbnamen, Prozentwerte und Kanäle außerhalb des gültigen Bereichs werden bewusst abgelehnt, weil ANSI-Truecolor-Sequenzen genau drei 8-Bit-Farbkanäle und keine Alphakomponente codieren. Die eindeutige Validierung verhindert, dass ein versehentlich eingegebener CSS-Wert unbemerkt eine unerwartete Terminalfarbe erzeugt.
Verwenden Sie die erzeugte Escape-Sequenz sicher
Eine 24-Bit-ANSI-Farbe besteht aus einem Escape-Zeichen und einer anschließenden SGR-Parameterliste. Vordergrundfarben beginnen mit <code>38;2</code>, Hintergrundfarben dagegen mit <code>48;2</code>; danach folgen die drei Dezimalkanäle in der Reihenfolge Rot, Grün und Blau, und <code>m</code> schließt die Sequenz ab. Die Antwort stellt dieselbe Anweisung in zwei Darstellungen bereit. Das Feld <code>sequence</code> enthält das tatsächliche ESC-Steuerzeichen, sodass ein Programm es direkt mit Text verknüpfen kann. Das Feld <code>escaped</code> beginnt mit den sichtbaren Zeichen <code>\x1b</code>. Diese lassen sich meist leichter in JavaScript, Shell, JSON-Vorlagen oder Dokumentation kopieren, in denen ein wörtliches Steuerzeichen verwirrend wäre. Wie eine maskierte Zeichenfolge interpretiert wird, hängt von der verwendeten Sprache ab; wählen Sie deshalb die passende Darstellung für Ihre Umgebung. Hängen Sie den zurückgegebenen Rücksetzwert an den farbigen Abschnitt an, damit spätere Eingabeaufforderungen und Protokollzeilen den Stil nicht übernehmen. Der konzeptionelle Aufbau lautet Farbsequenz, Nachricht und Rücksetzung. Verzichten Sie bei maschinenlesbaren Ausgaben auf Farbcodes, sofern die Empfänger sie nicht ausdrücklich unterstützen, denn unsichtbare Steuerzeichen können Vergleiche, Parser und Snapshots beeinträchtigen.
Berücksichtigen Sie Terminalunterstützung und Produktionsbetrieb
Truecolor wird von modernen Terminalemulatoren weitgehend unterstützt, doch das ANSI-Protokoll verpflichtet nicht jedes Ausgabeziel dazu, 24-Bit-Farben darzustellen. Eine umgeleitete Datei, ein einfaches Terminal, eine Protokollansicht für kontinuierliche Integration oder eine Anwendung mit deaktivierter Formatierung zeigt möglicherweise keine Farbe oder macht die Steuerzeichen sichtbar. Behandeln Sie Farbe als Darstellung und nicht als Information: Bezeichnungen, Schweregrade und Statusmeldungen müssen auch dann verständlich bleiben, wenn die Gestaltung entfernt wird. Viele Befehlszeilenprogramme aktivieren Farbe nur, wenn die Standardausgabe mit einem interaktiven Terminal verbunden ist, und bieten eine Option oder Umgebungsvariable zum Erzwingen oder Abschalten an. Dieser Generator prüft das Terminal des Aufrufers nicht, weil ein reines API-Ergebnis sonst von einer sachfremden Laufzeitumgebung abhinge. Er erzeugt ausschließlich die korrekte Bytefolge für die gewünschte Farbe. Der Algorithmus stellt keine Netzwerkanfragen, verwendet keinen Zufall und speichert keine Eingaben. Gleiche Eingaben liefern daher identisches JSON. Die API-Nutzung kostet $0.002 je Anfrage; die Browserausführung verwendet dieselbe reine Konvertierungslogik. Fügen Sie Sequenzen in Protokollsystemen möglichst erst im abschließenden, für Menschen bestimmten Renderer ein, statt sie in strukturierten Ereignissen zu speichern. So bleiben Suche und spätere Exporte sauber, während die Konsolenausgabe ansprechend formatiert werden kann.
Anwendungsfälle
Statusmeldungen in der Befehlszeile färben
Erzeugen Sie genaue Vordergrundsequenzen für Erfolgs-, Warn- und Fehlerkennzeichnungen und verwalten Sie die Palette weiterhin in geläufiger HEX-Notation.
Entwicklungsprotokolle gestalten
Erstellen Sie Vorder- oder Hintergrundcodes für einen menschenlesbaren Konsolenformatierer und fügen Sie nach jedem Abschnitt die gelieferte Rücksetzung an.
Designfarben in Terminalthemen übernehmen
Wandeln Sie Farben aus einem Designsystem ohne manuelle Dezimalumrechnung in normalisierte RGB-Kanäle und ANSI-Truecolor-Sequenzen um.
Häufige Fragen
Welche Farbformate werden akzeptiert?
Verwenden Sie #RGB, #RRGGBB, sechs Hexadezimalstellen ohne Raute oder rgb(r, g, b) mit ganzzahligen Kanälen zwischen 0 und 255.
Worin unterscheiden sich sequence und escaped?
Das Feld sequence enthält ein echtes ESC-Zeichen. Das Feld escaped zeigt die übliche Schreibweise \x1b zum Kopieren in Quellcode oder Konfigurationen.
Wie beende ich die Farbe?
Fügen Sie den zurückgegebenen Wert reset nach dem farbigen Text an. Für Umgebungen, die Zeichenfolgen-Escapes auswerten, wird auch die maskierte Darstellung geliefert.
Zeigt jedes Terminal diese Farbe an?
Nein. Das Ziel muss ANSI-Select-Graphic-Rendition-Sequenzen und 24-Bit-Truecolor unterstützen. Umgeleitete oder gefilterte Ausgaben stellen den Stil möglicherweise nicht dar.
Was kostet eine API-Anfrage?
Jede API-Anfrage kostet $0.002. Die Umwandlung kann außerdem kostenlos im Browser ausgeführt werden.
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/dev/ansi-truecolor \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"color":"#33A1FF"}'const res = await fetch("https://api.kit.forhosting.com/dev/ansi-truecolor", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"color": "#33A1FF"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/ansi-truecolor",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"color": "#33A1FF"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/ansi-truecolor", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"color":"#33A1FF"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"color":"#33A1FF"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/ansi-truecolor", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"color": "#33A1FF"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.ansi_truecolor",
"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. |