ForHosting KIT · Testi e IA

Convertire tab in spazi

Una tabulazione a inizio riga diventa 4 spazi, ma una tabulazione dopo un carattere ne diventa 3: ognuna salta al punto di tabulazione successivo, così l'allineamento resta e il file contiene solo spazi. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto
Se inserisce
Testo
function hi() { return true; }
Dimensione della tabulazione
4
Ottiene
Testo
function hi() { return true; }
Tabulazioni sostituite
1
Spazi aggiunti
4
Caratteri prima
31

La miscela di tab e spazi è una delle contese di stile più comuni nei team software e anche una delle fonti più silenziose di diff rotti, patch non applicabili e linter di integrazione continua che rifiutano l'invio. Un convertitore di tab in spazi prende il testo sorgente che contiene ancora caratteri di tabulazione e riscrive ogni tab come spazi, così le colonne visive restano uguali mentre il file diventa indentato solo con spazi. Questa capacità percorre ogni riga da sinistra a destra, avanza un contatore di colonna per ogni carattere e, quando incontra un tab, inserisce esattamente gli spazi necessari per raggiungere il successivo tab-stop della larghezza che Lei sceglie. Si espandono sia l'indentazione di blocco a inizio riga sia i tab di allineamento a metà riga. Gli spazi già presenti non vengono toccati, quindi non si collassano spaziature intenzionali di più spazi.

Come i tab-stop espandono i tab in spazi senza perdere l'allineamento

Un carattere di tabulazione non è un numero fisso di spazi; è un salto fino al multiplo successivo della dimensione del tab misurata dall'inizio della riga. Editor e terminali usano questa regola affinché un tab dopo un'etichetta corta e uno dopo un'etichetta lunga finiscano sulla stessa griglia di colonne.

L'indentazione iniziale scritta con uno o più tab diventa quindi un multiplo pulito di spazi, e i tab in linea usati per allineare commenti o elenchi di parametri mantengono le colonne visive invece di trasformarsi in una grezza sostituzione di ogni tab con la stessa sequenza fissa di spazi. I caratteri di ritorno a capo sono preservati per i file CRLF senza azzerare la colonna fino al line feed, così le terminazioni di riga in stile Windows non confondono l'aritmetica delle colonne.

Quando conviene convertire le tabulazioni in spazi

Le pipeline di stile spesso necessitano di un passo di riscrittura deterministico prima di formattatori che assumono sola indentazione a spazi, o dopo import da editor che emettono ancora tab rigidi. Siti di documentazione e piattaforme di sfide di programmazione che accettano consegne studentesche possono normalizzare i tab lato server così gli auto-valutatori confrontano file solo a spazi e non falliscono per differenze invisibili di tabulazione.

I team di contenuti che puntano su convertitore tab in spazi beneficiano di un percorso browser gratuito identico byte per byte all'automazione a pagamento, così marketing e runbook di ingegneria non divergono. La validazione fallita non consuma saldo.

Compiti e consegne LMS

Normalizzi il codice dello studente al caricamento affinché gli auto-valutatori confrontino file solo a spazi e non falliscano su tab invisibili.

Come espande il convertitore di tab in spazi ogni tabulazione?

Tab iniziali e in linea si espandono così e l'allineamento visivo è preservato.

Cosa succede se il testo non ha caratteri di tabulazione?

Può evitare di riscrivere il file quando changed è false.

Perché una tabulazione è diventata tre spazi e non quattro?

Perché una tabulazione è un salto fino al punto successivo, non un blocco fisso di spazi. Con larghezza 4, una tabulazione dopo un carattere ha bisogno solo di tre spazi per raggiungere quel punto.

Quale larghezza di tabulazione conviene scegliere?

Usi la larghezza che si aspetta il suo editor o la sua guida di stile. Il valore predefinito è 4, l'impostazione comune degli editor moderni, e va bene qualsiasi intero da 1 a 16, quindi anche lo stile a due spazi.

I fine riga di Windows vengono conservati?

Sì. I ritorni a capo restano invariati e il conteggio delle colonne riparte solo all'avanzamento di riga, quindi i file con fine riga di Windows escono con gli stessi fine riga e colonne allineate.

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.

POSThttps://api.kit.forhosting.com/dev/tabs-to-spaces

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/dev/tabs-to-spaces \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"function hi() {\n\treturn true;\n}"}'
{
  "text": "function hi() {\n\treturn true;\n}"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.tabs_to_spaces",
  "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.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Come i tab-stop espandono i tab in spazi senza perdere l'allineamento

Questo convertitore applica la stessa regola: mantiene un indice di colonna a base zero che si azzera a ogni line feed, avanza di uno per ogni carattere ordinario (compresi gli spazi ordinari) e, quando vede un tab, calcola n uguale a tab_size meno la colonna modulo tab_size, emette esattamente n spazi e avanza la colonna di n. Per questo un tab in colonna zero con tab_size quattro diventa quattro spazi, mentre un tab in colonna uno diventa tre spazi, e un tab già su uno stop produce un nuovo stop completo di quattro spazi. L'algoritmo è un unico passaggio da sinistra a destra, senza lookahead, senza parsing del linguaggio e senza chiamate di rete, quindi lo stesso input produce sempre lo stesso output su ogni Worker e nel browser.

Campi di ingresso, forma della risposta, limiti ed errori di validazione

Invii un corpo JSON con il campo stringa obbligatorio text che contenga il codice o il testo semplice da normalizzare. Sono accettati alias opzionali come input, code, source, content e body per lo stesso payload, così moduli e script esistenti rinomineranno meno campi. L'intero opzionale tab_size imposta la larghezza del tab-stop; il valore predefinito è quattro, in linea con la maggior parte degli editor moderni e con le guide di stile di JavaScript, Python e Rust che si aspettano indentazioni di quattro o due spazi una volta rimossi i tab. I valori validi sono interi da uno a sedici inclusi; fuori intervallo, non interi, NaN e Infinity falliscono con invalid_input nominando tab_size. Text mancante, non stringa o stringa vuota fallisce con invalid_input e non viene addebitato. La lunghezza massima di ingresso è di centomila caratteri affinché una singola chiamata resti nei budget di memoria del Worker per file sorgente tipici e piccoli estratti multi-file. In caso di successo la risposta include text, la stringa completamente espansa; tab_size, la larghezza applicata; tabs_replaced, quanti caratteri tab sono stati trovati; spaces_added, il totale di spazi inseriti al loro posto; chars_before e chars_after, le lunghezze prima e dopo; line_count, il numero di righe dopo lo split sulle forme comuni di nuova riga; changed, booleano vero se è stato espanso almeno un tab; e message, un breve riepilogo della riscrittura. Se l'ingresso non aveva tab, text torna invariato, tabs_replaced è zero, changed è false e il messaggio indica che nulla è stato modificato così Lei può evitare di riscrivere il file.

Quando un'API da tab a spazi conviene nei flussi reali

Script di migrazione che convertono in blocco un repository legacy da tab a spazi possono chiamare lo stesso contratto da un ciclo shell o da un Worker edge senza installare moduli Node su ogni laptop. Poiché l'implementazione è parse puro di livello A, ogni chiamata riuscita costa il prezzo base pubblicato $0.002 senza token di modello e senza rete in uscita. Tenga le richieste sotto il limite di caratteri, fissi tab_size nella configurazione e otterrà sorgente solo a spazi riproducibile per CI, plugin LMS e batch offline senza erigere un formattatore consapevole del linguaggio per una semplice correzione di indentazione a livello di carattere.

Normalizzazione di stile in CI

Espanda i tab rigidi in spazi con un tab_size fisso prima di lint e format così i diff restano puliti e gli strumenti che rifiutano indentazione mista accettano il cambiamento.

Riscrittura massiva di repository legacy

Converta in batch moduli indentati con tab in soli spazi tramite l'API, preservando i tab di allineamento a metà riga come sequenze di spazi corrette in colonna.

Quali valori posso usare per tab_size?

Qualsiasi intero da 1 a 16 inclusi. Il valore predefinito è 4. Valori fuori intervallo o non interi falliscono con invalid_input e non vengono addebitati.

Gli spazi esistenti vengono rimossi o collassati?

No. I caratteri spazio esistenti restano invariati. Solo i caratteri tab U+0009 vengono sostituiti dalla sequenza di spazi richiesta dalla colonna corrente e da tab_size.

Quanto costa il convertitore di tab in spazi?

Lo strumento nel browser è gratuito. Le richieste API usano il saldo prepagato KIT a $0.002 per chiamata riuscita; l'ingresso non valido non viene addebitato.

Leggi la documentazione completa del KIT →