Controllo di ridondanza longitudinale (LRC)
I nove byte di 123456789 danno il byte di controllo 31 in esadecimale, 49 in decimale: ogni byte si combina con l'or esclusivo (XOR), la parità a blocchi più semplice che si insegna per le trame seriali e il Modbus ASCII. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- 123456789
- Risultato
- 31
- Lrc
- 31
- Hex
- 31
- Decimale
- 49
Un controllo di ridondanza longitudinale, spesso abbreviato LRC, è un trailer di integrità di un byte formato dall'OR esclusivo di ogni byte di un messaggio. Tutorial di trama seriale, introduzioni ai protocolli industriali e laboratori di classe su Modbus ASCII presentano l'LRC come la parità di blocco più semplice che si possa calcolare a mano: parta da zero, applichi lo XOR del byte successivo all'accumulatore e, dopo l'ultimo byte, avrà un valore di controllo che cambia se un qualsiasi bit di un qualsiasi byte cambia un numero dispari di volte su quel piano di bit.
Cosa calcola l'LRC e perché conta il byte di controllo XOR
Il controllo di ridondanza longitudinale tratta un messaggio come una sequenza di colonne a otto bit e calcola la parità pari su ciascuna colonna applicando l'OR esclusivo di byte successivi in un registro a otto bit. Dopo l'ultimo byte, quel registro è l'LRC: un unico byte di controllo di solito scritto come due cifre esadecimali. A differenza di un controllo di ridondanza ciclica, non vi è polinomio generatore, né tabella di scorrimento, né opzioni di riflessione da configurare male—solo XOR sequenziale.
Quella semplicità spiega perché l'LRC compare nelle lezioni di trama seriale a blocchi e in molte descrizioni dei campi di controllo Modbus ASCII: è possibile verificare un calcolo a mano sulla lavagna in pochi secondi. Questa pagina usa sempre la definizione XOR pura sui byte UTF-8 del testo inviato, così i caratteri multi-byte contribuiscono con ogni byte di unità di codice esattamente come farebbe un dispositivo embedded se ricevesse lo stesso flusso UTF-8.
La risposta ripete anche l'intero decimale, l'etichetta di algoritmo LRC-XOR, il conteggio dei byte UTF-8 e il testo originale così i client possono mostrare una riga di audit completa senza ricalcolare i metadati. Poiché l'LRC non è resistente alle collisioni e non è a chiave, lo tratti come controllo di trama o di corruzione accidentale, non come prova di autenticità; preferisca digest delle famiglie CRC o SHA quando l'intento di ricerca va oltre un trailer XOR di un byte.
Dove un calcolatore LRC rende e come funziona il prezzo
Autori di firmware e studenti di protocolli industriali usano un calcolatore di controllo di ridondanza longitudinale per verificare trailer XOR calcolati a mano senza scrivere un ciclo in ogni linguaggio. Le piattaforme didattiche e i plugin LMS necessitano di un oracolo deterministico che rifiuti l'input vuoto invece di restituire zero per il messaggio vuoto, così i correttori automatici distinguano risposte assenti da un controllo zero reale.
I siti di contenuti che si posizionano su controllo di ridondanza longitudinale o calcolatore LRC beneficiano di uno strumento live il cui percorso gratuito coincide byte per byte con l'automazione a pagamento sullo stesso modulo puro. I fallimenti di validazione non consumano saldo dopo il rifiuto. Abbini landing CRC-8, CRC-16 o hash crittografico solo quando l'intento di ricerca va oltre un controllo di trama XOR a otto bit—mantenga questa pagina incentrata sull'LRC come XOR di tutti i byte affinché l'intento SEO resti nitido.
Casi d'uso
Dimostrazioni LRC in aula
I docenti mostrano il controllo classico della stringa di cifre e lasciano agli studenti ricalcolare altre stringhe brevi senza installare una libreria di protocollo.
Domande frequenti
Quale algoritmo usa questo strumento LRC?
XOR sequenziale puro di tutti i byte UTF-8 (LRC-XOR). Parta da zero, applichi l'OR esclusivo di ogni byte e conservi gli otto bit bassi. Il risultato è un byte di controllo in hex minuscolo.
Cosa succede se il testo è vuoto?
È richiesta una stringa non vuota; l'input vuoto non è trattato come controllo zero riuscito.
Il calcolatore di controllo di ridondanza longitudinale è gratuito?
Lo strumento nel browser gira gratis sul Suo dispositivo.
L'LRC è uguale al CRC-8?
No. Qui l'LRC è un semplice XOR di tutti i byte. Il CRC-8 divide per un polinomio con passi di scorrimento e XOR. Usi la landing CRC-8 per il poli 0x07; questa pagina per l'LRC XOR.
Come si calcola un LRC a mano?
Parta da zero e combini con XOR ogni byte del messaggio con il valore accumulato, uno dopo l'altro. Dopo l'ultimo byte quel valore è l'LRC, di solito scritto con due cifre esadecimali; per 123456789 è 31.
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/enc/lrc \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"123456789"}'const res = await fetch("https://api.kit.forhosting.com/enc/lrc", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "123456789"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/lrc",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "123456789"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/lrc", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"123456789"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"123456789"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/lrc", 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
{
"text": "123456789"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.lrc",
"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
Ingegneri, studenti e team di supporto hanno bisogno di quel medesimo byte hex deterministico per payload brevi senza installare uno stack di protocolli né discutere polinomi CRC. Questo strumento di controllo di ridondanza longitudinale accetta testo non vuoto, lo codifica come UTF-8, esegue il ciclo XOR puro e restituisce il byte di controllo come due cifre esadecimali minuscole insieme al valore decimale e a un breve riepilogo. L'input vuoto viene rifiutato con invalid_input affinché chi chiama non confonda mai un campo assente con un controllo zero reale.
Contratto di input, errori di stringa vuota e forma della risposta JSON
Fissi sia un percorso di successo sia un errore di input vuoto nell'integrazione continua così i cambi accidentali di algoritmo non passino inosservati. I campi opzionali nulli sono omessi anziché emessi come null, in linea con il contratto del renderer dichiarativo per form web puliti. Invii in POST un corpo JSON con un unico campo stringa obbligatorio denominato text: qualsiasi sequenza non vuota di caratteri che desidera proteggere con un LRC. Gli alias input, value, s, data, message e payload sono accettati per lo stesso campo così stub SDK e invii di form restano flessibili. La stringa viene codificata come UTF-8 prima del ciclo XOR. text mancante, valore non stringa o stringa vuota falliscono con invalid_input e un messaggio chiaro che richiede una stringa non vuota; tali fallimenti non vengono addebitati sull'API prepagata. In caso di successo il corpo include result, lrc e hex tutti impostati sullo stesso byte di controllo esadecimale a due cifre minuscole; decimal con l'intero da zero a duecentocinquantacinque; algorithm fisso a LRC-XOR; input_bytes uguale alla lunghezza UTF-8; text che ripete l'input; e message che riassume il conteggio byte e il risultato hex.
Dove un calcolatore LRC rende e come funziona il prezzo
Usi lo strumento gratuito nel browser per controlli una tantum; chiami l'API prepagata KIT da backend, funzioni serverless e SDK quando le serve un contratto stabile sotto saldo a $0.002 per elemento riuscito. Mantenga payload di dimensioni di testo ordinarie adatte a una chiamata di elemento in un Worker isolate; questo strumento è per stringhe brevi e frammenti di protocollo, non per blob binari multi-megabyte.
Casi di integrazione
Trama seriale e laboratori di protocollo
Verifichi che una stringa di payload produca il trailer LRC di un byte atteso sotto XOR sequenziale prima di confrontare log di dispositivo o vettori di test unitari.
Fixture CI per codice di trama
Le pipeline fissano uscite hex LRC deterministiche e l'errore di input vuoto affinché i cambi accidentali di algoritmo falliscano in fretta.
Domande tecniche
Come si calcola un controllo di ridondanza longitudinale di un testo?
Invii JSON con un campo stringa non vuoto text. L'API codifica la stringa in UTF-8, applica lo XOR di ogni byte in un registro a otto bit e restituisce il byte di controllo come due cifre hex minuscole in result, lrc e hex.