ForHosting KIT · Entwickler-Tools

Bitmask-Flags dekodieren

Der Bitmask-Flag-Dekodierer wandelt eine kompakte Ganzzahl in die Namen der dargestellten Berechtigungen, Funktionen, Zustände oder Optionen um.

● BetaKostenlos · im Browser
Nutzen Sie es über WebAPIE-MailTelegramApp bald

Geben Sie den gespeicherten Wert sowie eine Liste an, die jeden Namen einem Bit mit einer Zweierpotenz zuordnet. Das Ergebnis behält Ihre vorgegebene Reihenfolge bei, liefert alle aktiven Namen und weist den Restwert nicht definierter Bits aus. Damit lesen Sie Datenbankfelder, API-Nutzdaten, Protokollwerte, Zugriffseinstellungen und ältere Konfigurationen, ohne Zahlen manuell in Binärdarstellung umzuwandeln oder vom speziellen Operatorverhalten einer Programmiersprache abhängig zu sein.

Beschreiben Sie die Maske mit eindeutig benannten Bits

Beginnen Sie mit der nicht negativen Ganzzahl im Feld value und fügen Sie für jede in Ihrem System festgelegte Bedeutung eine Zeile zu flags hinzu. Jede Zeile enthält einen Namen und ein Bit. Das Bit muss eine positive Zweierpotenz sein: 1, 2, 4, 8, 16 und so weiter. Diese Werte stehen für unabhängige Binärpositionen und lassen sich daher sicher durch Addition oder bitweises OR kombinieren. Äußere Leerzeichen in Namen werden entfernt; jeder Name muss eindeutig sein. Auch Bitwerte dürfen nicht doppelt vorkommen, da zwei Bezeichnungen für dieselbe Position das Ergebnis mehrdeutig machen würden. Sie können die Definitionen beliebig anordnen: active_flags übernimmt Ihre Reihenfolge, sodass eine Anwendung ihre bevorzugte Darstellung beibehält. Null ist eine gültige Maske und ergibt ein leeres active_flags-Array. Exakte, nicht negative JavaScript-Ganzzahlen bis 9,007,199,254,740,991 und einzelne Bits bis 4,503,599,627,370,496 sind zulässig. Ungültige Datensätze führen zu einer klaren Fehlermeldung, statt unbemerkt in eine scheinbar plausible, aber falsche Berechtigungsliste umgewandelt zu werden.

Verstehen Sie aktive Flags und unbekannte Bits

Für jede Definition prüft der Dekodierer, ob die zugehörige Binärposition in value gesetzt ist. Ist sie vorhanden, wird der entsprechende Name an active_flags angehängt und der Bitwert zur erklärten aktiven Summe addiert. Die Antwort enthält außerdem unknown_bits. Dieser Wert entsteht, indem alle deklarierten aktiven Bits vom ursprünglichen Wert abgezogen werden. Ist unknown_bits gleich null, erklären Ihre Definitionen die Maske vollständig. Ein anderer Wert ist nicht zwangsläufig ein Fehler: Er kann auf ein neues serverseitiges Flag, eine bewusst ausgelassene interne Option oder unterschiedliche Schemaversionen hinweisen. Den Rest sichtbar zu lassen ist sicherer, als Informationen zu verwerfen. Bei value 13 und den Bits read=1, write=2, execute=4 sowie admin=8 lauten die aktiven Namen beispielsweise read, execute und admin; unknown_bits ist null. Fehlt Bit 8 in den Definitionen, liefert dieselbe Eingabe read und execute sowie unknown_bits mit dem Wert 8. Der ursprüngliche Wert bleibt in der Antwort unverändert, damit Protokolle und spätere Prüfungen die genaue Herkunft bewahren.

Nutzen Sie deterministische Dekodierung für Rechte und Optionen

Bitmasken kommen häufig in Datenbankspalten, Betriebssystemmodi, Funktionsschaltern, Geräteregistern, Spielzuständen und Antworten externer APIs vor, weil viele Wahrheitswerte in eine Ganzzahl passen. Diese Funktion macht solche Felder an einer Integrationsgrenze verständlich. Speichern Sie die Flag-Definitionen zusammen mit der Schemaversion, rufen Sie den Dekodierer beim Eingang eines Datensatzes auf und verwenden Sie active_flags für Anzeige, Filterung oder Richtlinienprüfungen. Beobachten Sie unknown_bits als Kompatibilitätssignal: Ein Rest ungleich null kann den Datensatz zur Prüfung weiterleiten, bevor Software eine neue Berechtigung als gewöhnlichen alten Wert behandelt. Der Algorithmus führt begrenzte Berechnungen über höchstens 256 Definitionen aus und verwendet weder Netzwerk, Uhr, Gebietsschema, Zufall noch veränderlichen Zustand; identisches JSON erzeugt stets identisches JSON. Zudem vermeidet er die vorzeichenbehafteten 32-Bit-Operatoren von JavaScript und verarbeitet daher exakte Masken weit oberhalb von 32 Bit. Browser und API verwenden dieselbe Bibliothek. Die interaktive Nutzung ist kostenlos; erfolgreiche automatisierte API-Aufträge kosten $0.002.

Zugriffssteuerungsfelder verständlich machen

Wandeln Sie eine gespeicherte Berechtigungsmaske vor der Anzeige in einer Verwaltungskonsole oder einem Audit-Export in lesbare Namen um.

API- und Protokolloptionen untersuchen

Dekodieren Sie kombinierte Optionswerte einer Integration und behalten Sie nicht deklarierte Bits als Warnsignal für Schemaänderungen bei.

Alte Konfigurationen migrieren

Erweitern Sie kompakte numerische Einstellungen bei einer Datenbank- oder Anwendungsmigration zu eindeutigen Wahrheitswerten oder Bezeichnungen.

Welche Werte kann ich dekodieren?

Jede nicht negative, sichere JavaScript-Ganzzahl. Jedes deklarierte Bit muss eine eindeutige positive Zweierpotenz sein.

Was bedeutet unknown_bits?

Das ist der gesetzte Teil von value, der keiner gelieferten Definition entspricht. Null bedeutet, dass die Deklarationen die gesamte Maske erklären.

Bleibt die Reihenfolge der Flags erhalten?

Ja. active_flags folgt unabhängig von den numerischen Bitwerten der Reihenfolge Ihrer gelieferten Definitionen.

Dürfen Flag-Namen Leerzeichen enthalten?

Ja. Namen sind Zeichenketten; äußere Leerzeichen werden entfernt. Leere oder nach dieser Bereinigung doppelte Namen werden abgelehnt.

Was kostet die API?

Jeder erfolgreiche API-Auftrag nutzt den veröffentlichten Grundpreis von $0.002. Im Browser können Sie den Dekodierer auch kostenlos ausführen.

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.

POSThttps://api.kit.forhosting.com/dev/bitmask-flags-decode

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

curl -X POST https://api.kit.forhosting.com/dev/bitmask-flags-decode \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"value":13,"flags":[{"name":"read","bit":1},{"name":"write","bit":2},{"name":"execute","bit":4},{"name":"admin","bit":8}]}'
{
  "value": 13,
  "flags": [
    {
      "name": "read",
      "bit": 1
    },
    {
      "name": "write",
      "bit": 2
    },
    {
      "name": "execute",
      "bit": 4
    },
    {
      "name": "admin",
      "bit": 8
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.bitmask_flags_decode",
  "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.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

max_flags256
max_safe_integer9007199254740991
HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Vollständige KIT-Dokumentation lesen →