Che cos'è il codice carattere HTML 8203?


127

Cosa significa il codice carattere (HTML) ​? L'ho trovato in uno dei miei script jQuery e mi chiedevo cosa fosse ..

Grazie.

Modificare:

Ecco lo script in cui si trovava (è stato aggiunto alla fine, l'ho trovato in Firebug)

<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script>
<script type="text/javascript">
var $jnyh = jQuery.noConflict();


$jnyh(function() {
    $jnyh("#title-nyh").click(function() {
      $jnyh(".show-hide-nyh").slideDown("slow");
    }, function() {        
      if(!$jnyh(this).data('pinned'))
        $jnyh(".show-hide-nyh").slideUp("slow");
    });
    $jnyh("#title-nyh").click(function() {
    $jnyh(this).parent().toggleClass("title-btm-brdr");
       $jnyh(this).toggleClass("chev-up-result");
      var pin = $jnyh(this).data('pinned');
      $jnyh(this).data('pinned', !pin);
      if(pin) $jnyh(".show-hide-nyh").slideUp("slow");      
    });
});​&#8203;
</script>

1

2
Interessante. L'ho appena trovato usato per offuscare un URL imgur in un'e-mail di truffa: ii & # 8203; m & # 8203; g & # 8203; u & # 8203; r & # 8203;.…
Lambart,

Viene utilizzato nel manuale MDN ... Ad esempio se si desidera copiare il nome dell'oggetto javascript dal titolo H1 (come developer.mozilla.org/en-US/docs/Web/API/NodeFilter ) c'è questo carattere nella stringa "NodeFilter" tra small " e "e" F "... quindi fallirà nella tua sceneggiatura. Non so perché Mozilla lo
stia

Risposte:


158

È il carattere Unicode 'ZERO WIDTH SPACE' (U + 200B) .

questo personaggio è destinato al controllo dell'interruzione di linea; non ha larghezza, ma la sua presenza tra due caratteri non impedisce una maggiore spaziatura delle lettere nella giustificazione

Come per il dato esempio di codice, l'entità è del tutto superflua in questo contesto. Deve essere inserito per caso, molto probabilmente da un editore buggy che cerca di fare cose intelligenti con spazi bianchi o evidenziazione, o un utente finale usando un linguaggio di tastiera in cui questo personaggio è stato usato in modo nativo, come l'arabo.


3
Grazie. Strano come sia finito nel mio jQuery.
Kyle

1
@Kyle Ho trovato questo personaggio nei miei file CSS e tende a romperli in modo tale che i browser non analizzino correttamente il mio CSS. Quindi non sarei sorpreso se potesse causare problemi nei file di script.
AaronS

1
"Deve essere inserito per errore" - è anche noto come contrassegno dell'ordine dei byte.
Jonathan Dickinson,

8
@Jonathan: sicuramente non è un segno di ordine byte .
BalusC,

3
@Jonathan: No, non come una distinta base. Come rappresentazione visiva (errata) della distinta base.
BalusC

22

Se vuoi cercare questi caratteri invisibili nel tuo editor e renderli visibili, puoi usare un'espressione regolare alla ricerca di caratteri non ascii. Prova a cercare [^\x00-\x7F]. Testato in IntelliJ IDEA.


2
non dovremmo commentare solo per dire grazie - ma questo è stato così prezioso. altre persone devono sapere che questa è la soluzione che stanno cercando quando provano a ripulire il testo da sistemi bizzarri. quando dico eccentrico intendo spazzatura sito Web gratuito di Microsoft 360! Sono molto bravo con le espressioni regolari che hanno anni di esperienza, ma non importa quando incontri qualcosa che non sai come scegliere. (ho provato a lavorare con get_html_translation_table(HTML_ENTITIES)e ord()ma ancora non potevo vincere) questo alla fine mi ha dato la maniglia avevo bisogno di andare avanti! GRAZIE!!!
aequalsb,

Alcune ulteriori spiegazioni sono disponibili su stackoverflow.com/questions/9868796/… . Sono contento che ti abbia aiutato @aequalsb
Micros,

3
Funziona anche con la ricerca di VSCode; assicurati di usare l'interruttore "Usa ricerca regex".
James Perih,

7

Sono arrivato qui con lo stesso problema, poi l'ho capito da solo. Questo strano personaggio appariva con il mio HTML.

Molto probabilmente il problema è il tuo editor di codice. Uso Espresso e talvolta incontro problemi come questo.

Per risolverlo, evidenzia semplicemente il codice interessato, quindi vai al menu e fai clic su "Converti in entità numeriche". Vedrai apparire il valore numerico di questo personaggio; semplicemente cancellalo ed è andato per sempre.


Penso di dover aggiungere quella funzionalità in Aptana / Eclipse. Grazie!
Kyle,

3

ZERO WIDTH SPACE.

L'ho usato come contenuto per celle di tabella "vuote". Non ho idea di cosa stia facendo in un <script>tag, però.


3

Il carattere ZERO WIDTH SPACE viene inserito quando si utilizza jQuery per aggiungere elementi utilizzando le funzioni di manipolazione DOM come .before () e .after ()

Mi sono imbattuto in questo quando ho aggiunto cornici di dialogo modali nascoste alla fine del mio documento e poi ho scoperto che ZERO WIDTH SPACE avvita il layout laggiù, aggiungendo spazio indesiderato.

La soluzione rapida era di inserirlo prima del piè di pagina, non dopo. È nascosto comunque.

Non riesco a trovare nulla in jQuery che faccia questo:

https://github.com/jquery/jquery/blob/master/src/manipulation.js

Quindi potrebbe essere il browser ad aggiungerlo.


2

Ho questi personaggi mostrati negli script dove non li desidero. Ho notato perché rovina la mia formattazione visiva HTML / CSS: crea una nuova casella di testo.

Abbastanza sicuro che un editor buggy li sta aggiungendo ... Sospetto che Komodo Edit per Mac, nel mio caso.


Ne dubito. Viene visualizzato in IE sul mio PC quando ho guardato.html() un div che rappresentava una casella di testo in SP 2013. Credo che sia dovuto al comportamento dell'applicazione Web che visualizza i dati. Nel mio caso, la lunghezza era 1, per me, quando avrebbe dovuto essere 0. Era dovuto a questo personaggio.
vapcguy,

2

Se li vedi in una fonte, tieni presente che potrebbe essere qualcuno che sta tentando di imprimere documenti di testo per rivelare chi sta perdendo informazioni. Potrebbe anche essere un tentativo di aggirare un filtro antispam rendendo diverse le stesse informazioni di aspetto a livello di byte per byte.

Vedi il mio articolo sulla mitigazione dell'impronta digitale se sei interessato a saperne di più.


0

Stava mostrando alcuni strani caratteri (â € ‹) finché non ho impostato il set di caratteri su UTF-8 nella testa del file html

<meta http-equiv="content-type" content="text/html; charset=UTF-8">

o per HTML5:

<meta charset="UTF-8">

Ora è trasparente ma viene ancora visualizzato nell'html quando utilizzo Inspector.

Anche la rimozione di tutti gli script dalla pagina non l'ha rimossa.

L'ho testato per Chrome e IE.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.