ForHosting KIT · Testi e IA

Rimuovere selettori di variazione Unicode

«Hello ❤️ world ☺️» perde i suoi 2 selettori nascosti e torna come «Hello ❤ world ☺», 15 caratteri invece di 17. Lettere, emoji, punteggiatura e spazi restano; spariscono solo gli interruttori di stile invisibili. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto
Se inserisce
Testo
Hello ❤️ world ☺️
Ottiene
Risultato
Hello ❤ world ☺
Lunghezza
15
Lunghezza originale
17
Rimosso
2

I selettori di variazione Unicode sono caratteri invisibili che affiancano i glifi di base e indicano al renderer se mostrare presentazione emoji, presentazione testo o una variante specifica di glifo. Copia e incolla da app di messaggistica, feed social e strumenti di design lasciano spesso U+FE0F (stile emoji) o U+FE0E (stile testo) dopo cuori, stelle e altri simboli, e i documenti CJK possono incorporare punti del Variation Selectors Supplement per sequenze ideografiche. Quei selettori rompono i controlli di uguaglianza delle stringhe, gonfiano le lunghezze, confondono gli indici di ricerca e producono diff misteriosi quando due stringhe appaiono identiche a schermo. Questo strumento attraversa il Suo testo per code point Unicode, rimuove ogni selettore di variazione negli intervalli standard e restituisce la stringa ripulita con un conteggio dei rimossi e flag di modifica. Lettere di base, emoji, punteggiatura e spazi restano: solo i commutatori invisibili vengono eliminati. L'input vuoto è rifiutato con un errore di validazione chiaro così i client notano i campi mancanti.

Come funziona la rimozione dei selettori di variazione

Un selettore di variazione non è una lettera visibile; è un code point senza avanzamento di spazio che modifica la presentazione del carattere precedente. Il blocco principale va da U+FE00 a U+FE0F: Variation Selectors da 1 a 16. In quel blocco, U+FE0E richiede presentazione testo (monocromatica) per i simboli con capacità emoji, e U+FE0F richiede presentazione emoji (a colori).

Un cuore seguito da FE0F spesso si renderizza come emoji colorata, mentre la stessa base da sola o con FE0E può apparire come dingbat semplice, a seconda del font e della piattaforma. Un secondo blocco, U+E0100–U+E01EF (Variation Selectors Supplement), supporta sequenze di variazione ideografica per caratteri CJK quando serve una forma di glifo specifica. Questa capacità rimuove entrambi i blocchi del tutto.

L'implementazione percorre la stringa con un iteratore di code point così i caratteri del piano astrale del Supplement sono riconosciuti come unità singole e non come coppie surrogate spezzate. Ogni code point in uno dei due intervalli VS viene scartato e contato; ogni altro code point viene aggiunto al risultato. Le stringhe vuote falliscono prima della scansione.

Poiché il percorso è parse puro su stringhe, la latenza resta sotto il millisecondo per i form tipici e il modello di costo pubblicato è analitico, non basato su token di modello.

Cosa invia Lei e cosa riceve indietro

Invii un unico campo obbligatorio denominato text contenente la stringa non vuota da ripulire. Numeri e booleani sono convertiti nelle forme decimali o true/false; oggetti, array, NaN e Infinity vengono rifiutati. Quando l'input non conteneva già selettori di variazione, result è uguale a text, changed è false e removed è zero — utile come rilevatore di no-op in guardie ETL e test unitari.

Controlli classici: un cuore con FE0F finale diventa il cuore nudo, uno smiley con FE0F perde il selettore di presentazione mantenendo l'emoji di base, prosa mista in cui spariscono solo i selettori invisibili, e testo CJK con selettori Supplement ridotto a ideogrammi di base.

Dove compaiono gli strumenti per rimuovere selettori di variazione

I team di prodotto e messaggistica normalizzano i contenuti generati dagli utenti affinché controlli di uguaglianza e rilevamento duplicati ignorino commutatori di presentazione invisibili che l'utente non intendeva digitare. I sistemi di ricerca e tagging rimuovono i selettori di variazione da query e titoli memorizzati così i filtri coincidono sia che un cuore sia arrivato con FE0F da iOS sia senza da un editor di testo semplice.

I team di contenuto e localizzazione preparano stringhe stabili per nomi file, segmenti URL (quando non usano uno strumento slug dedicato), oggetti email su relay esigenti e file CSV aperti in strumenti che alterano o ricodificano Unicode. Se in seguito Le servono rimozione di caratteri a larghezza zero, stripping di diacritici, normalizzazione Unicode completa (NFD/NFC) o conversione di shortcode emoji, li tratti come intenti di ricerca e landing distinti piuttosto che sovraccaricare questa pagina remove-variation-selectors.

Cosa fa la rimozione dei selettori di variazione?

Elimina i code point dei selettori di variazione Unicode (U+FE00–U+FE0F e U+E0100–U+E01EF) dal Suo testo — inclusi i comuni FE0F emoji e FE0E testo — e restituisce la stringa ripulita più un conteggio dei rimossi.

Cosa succede se invio testo vuoto?

Le stringhe vuote sono rifiutate così i client notano i campi mancanti invece di ricevere un risultato vuoto in silenzio.

Rimuove spazi a larghezza zero o accenti?

No. Vengono rimossi solo i selettori di variazione. Spazi a larghezza zero, marche bidi, diacritici combinanti e altri caratteri invisibili richiedono strumenti separati.

Un testo già pulito cambierà?

No. Se non ci sono selettori di variazione, result è uguale al testo originale, changed è false e removed è zero.

Quanto costa?

Lo strumento nel browser è gratuito e viene eseguito in locale.

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/str/remove-variation-selectors

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/str/remove-variation-selectors \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello ❤️ world ☺️"}'
{
  "text": "Hello ❤️ world ☺️"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "str.remove_variation_selectors",
  "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 funziona la rimozione dei selettori di variazione

Non c'è commutatore di locale, né campionamento casuale, né chiamata di rete: l'input identico produce sempre lo stesso JSON. I payload oltre il limite documentato falliscono pure con invalid_input così una sola richiesta non monopolizza la memoria del Worker.

Cosa invia Lei e cosa riceve indietro

Sono accettati alias come input, value, data, s, message, string, content e body per collegare client più vecchi. In caso di successo la risposta ripete il text originale, il result ripulito, la length del risultato, original_length, un booleano changed, removed come conteggio dei code point di selettori di variazione rimossi, e operation impostato a remove_variation_selectors. Usi il form gratuito del browser per incollare e copiare rapidamente, poi chiami lo stesso contratto dagli script per normalizzare colonne CSV, export di chat o payload API in blocco. Il prezzo delle chiamate API riuscite è la base pubblicata di $0.002 per elemento; i fallimenti di validazione, incluso il testo vuoto, non consumano il saldo prepagato.

Dove compaiono gli strumenti per rimuovere selettori di variazione

Gli ingegneri dati che ripuliscono export CRM, colonne di fogli di calcolo e dump di API social spesso forzano i campi di testo libero attraverso uno strip VS prima di join su chiavi soft o caricamenti in warehouse che indicizzano per stringa esatta. Poiché questa capacità è un motore di parse puro, il prezzo API è la base pubblicata di $0.002 per elemento riuscito e la validazione fallita non consuma saldo.

Normalizzare emoji da chat e API social

Rimuova i selettori di presentazione FE0F/FE0E affinché cuori e simboli confrontino uguali tra piattaforme che iniettano stili di variazione diversi.

Pulire export CSV e testo libero

Elimini i caratteri VS nascosti da incolla massivi e dump API prima di join, controlli di unicità o caricamenti in warehouse.

Test golden e chiavi di ricerca stabili

Renda fixture e etichette di faccetta indipendenti da commutatori di presentazione invisibili così test e filtri restano deterministici.

Leggi la documentazione completa del KIT →