¿Qué es el código de caracteres HTML 8203?

127

¿Qué significa el código de caracteres (HTML) ​? Lo encontré en uno de mis scripts de jQuery y me pregunté qué era ...

Gracias.

Editar:

Aquí está el script en el que estaba (se agregó al final, lo encontré en 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>
Kyle
fuente
1
Encontré un artículo aquí que me ayuda: js eliminar el espacio de ancho cero Unicode 8203 de la cadena
Yuchi
2
Interesante. Acabo de encontrar que solía ofuscar una URL imgur en un correo electrónico fraudulento: ii & # 8203; m & # 8203; g & # 8203; u & # 8203; r & # 8203; ...
Lambart
Se utiliza en el manual de MDN ... Por ejemplo, si desea copiar el nombre del objeto javascript del título H1 (como developer.mozilla.org/en-US/docs/Web/API/NodeFilter ), este es este carácter en la cadena "NodeFilter" entre pequeños " e "y" F "... entonces fallará en tu script. No sé por qué Mozilla lo usa ... tal vez solo nos odia: D
iiic

Respuestas:

158

Es el personaje de Unicode 'ZERO WIDTH SPACE' (U + 200B) .

este personaje está destinado al control de salto de línea; no tiene ancho, pero su presencia entre dos caracteres no impide un mayor espacio entre letras en la justificación

Según el ejemplo de código dado, la entidad es completamente superflua en este contexto. Debe insertarse por algún accidente, muy probablemente por un editor con errores que intenta hacer cosas inteligentes con espacios en blanco o resaltado, o un usuario final que usa un lenguaje de teclado en el que este carácter se usa de forma nativa, como el árabe.

BalusC
fuente
3
Gracias. Extraño cómo terminó en mi jQuery.
Kyle
1
@Kyle He encontrado este personaje en mis archivos CSS y tiende a romperlos de modo que los navegadores no analizan mi CSS correctamente. Por lo tanto, no me sorprendería si pudiera causar problemas en los archivos de script.
AaronLS
1
"Debe insertarse por accidente", también se conoce como marca de orden de bytes.
Jonathan Dickinson
8
@ Jonathan: Definitivamente no es una marca de orden de bytes .
BalusC
3
@ Jonathan: No, no como una lista de materiales. Como representación visual (errónea) de la lista de materiales.
BalusC
22

Si desea buscar estos caracteres invisibles en su editor y hacerlos visibles, puede usar una Expresión regular para buscar caracteres que no sean ascii. Intenta buscar [^\x00-\x7F]. Probado en IntelliJ IDEA.

Micros
fuente
2
se supone que no debemos comentar solo para agradecer, pero esto fue muy valioso. otras personas necesitan saber que esta es la solución que buscan cuando intentan limpiar el texto de sistemas extravagantes. cuando digo peculiar me refiero a la basura del sitio web gratuito de Microsoft 360. Soy muy bueno con expresiones regulares que tienen años de experiencia, pero realmente no importa cuando te encuentras con algo a lo que no sabes cómo apuntar. (Traté de trabajar get_html_translation_table(HTML_ENTITIES)y ord()todavía no podía ganar) ¡Esto finalmente me dio el control que necesitaba para avanzar! ¡¡¡GRACIAS!!!
aequalsb
Puede encontrar más explicaciones en stackoverflow.com/questions/9868796/… . Me alegro de que te haya ayudado @aequalsb
Micros
3
Funciona también con la búsqueda de VSCode; asegúrese de utilizar el botón "Usar búsqueda de expresiones regulares".
James Perih el
7

Aterricé aquí con el mismo problema, luego lo descubrí por mi cuenta. Este personaje extraño aparecía con mi HTML.

El problema es muy probablemente su editor de código. Uso Espresso y a veces me encuentro con problemas como este.

Para solucionarlo, simplemente resalte el código afectado, luego vaya al menú y haga clic en "convertir a entidades numéricas". Verá aparecer el valor numérico de este personaje; simplemente elimínelo y desaparecerá para siempre.

WarrenBee
fuente
Creo que necesito agregar esa funcionalidad en Aptana / Eclipse. ¡Gracias!
Kyle
3

ZERO WIDTH SPACE.

Lo he usado como contenido para celdas de tabla "vacías". Sin embargo, no tengo idea de lo que está haciendo en una <script>etiqueta.

dan04
fuente
3

El carácter de ESPACIO ANCHO CERO se inserta cuando usa jQuery para agregar elementos usando funciones de manipulación DOM como .before () y .after ()

Me he encontrado con esto cuando agrego cuadros de diálogo modales ocultos al final de mi documento y luego descubro que el ESPACIO DE ANCHO CERO arruina el diseño allí, agregando espacio no deseado.

La solución rápida fue insertarlo antes del pie de página, no después. Está escondido de todos modos.

No puedo encontrar nada en jQuery que haga esto:

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

Entonces podría ser el navegador que lo agrega.

Chris Sattinger
fuente
2

Tengo estos personajes que aparecen en guiones donde no los deseo. Lo noté porque arruina mi formato visual HTML / CSS: crea un nuevo cuadro de texto.

Estoy bastante seguro de que un editor con errores los agrega ... Sospecho que Komodo Edit para Mac, en mi caso.

JAL
fuente
Lo dudo. Aparece en IE en mi PC cuando miré el .html()de un div que representaba un cuadro de texto en SP 2013. Creo que se debe al comportamiento de la aplicación web que muestra los datos. En mi caso, la longitud fue 1, para mí, cuando debería haber sido 0. Fue debido a este personaje.
vapcguy
2

Si está viendo esto en una fuente, tenga en cuenta que puede ser alguien que está tratando de tomar huellas digitales de documentos de texto para revelar quién está filtrando información. También puede ser un intento de evitar un filtro de spam haciendo que la misma información de aspecto sea diferente en un nivel byte por byte.

Vea mi artículo sobre mitigar las huellas digitales si está interesado en aprender más.

zachaysan
fuente
0

Estaba mostrando algunos caracteres extraños (â € ‹) hasta que configuré el juego de caracteres en UTF-8 en la cabecera del archivo html

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

o para HTML5:

<meta charset="UTF-8">

Ahora es transparente pero aún se muestra en el html cuando uso el inspector.

Eliminar todos los scripts de la página tampoco lo eliminó.

Lo probé para Chrome e IE.

Amr
fuente