# Espacio duro

En el procesamiento de texto por computadora y en la tipografía digital, un espacio duro es una variante del carácter espacio que evita que se produzca un salto automático de renglón en el lugar donde se inserta, a diferencia de un espacio normal, que sí permite separar las palabras en diferentes renglones.
También se conoce como espacio de no separación o, menos usual, como espacio fijo o espacio irrompible o incluso con el galicismo espacio insecable.

## Razón de su empleo

En ocasiones, se precisa un espacio duro entre dos términos, sean palabras o cualquier otro como cifras o símbolos gráficos de otro tipo. Así, el bloque completo de letras salta al renglón siguiente, sin romper la unidad conceptual.
Con el aumento de la automatización para editar y presentar textos, surge inevitablemente la necesidad de poder alterar los autoajustes de saltos de línea, mediante alguna distinción gráfica entre ambos tipos de espacio para permitir cumplir determinadas reglas de escritura. Por ejemplo, según las normas del Sistema Internacional de Unidades (SI):
* En cuanto a las cantidades, por legibilidad se aconseja separar los números en bloques de tres cifras, empezando por la derecha, pudiendo no completarse el izquierdo.
* Los números y los símbolos de unidades deben aparecer consecutivos.
En ambos casos los espacios duros evitan separar las cifras entre sí o de la unidad en varios renglones de un mismo párrafo de texto.

## Métodos de inserción en wikitexto

* En HTML (y, por extensión, en wikitexto), se indica como &nbsp; en el código fuente.
Ejemplos: Del código fuente 13&nbsp;141&nbsp;m, se obtiene el texto «13 141 m», presentado conjuntamente (en la medida de lo posible). Del código fuente no&nbsp;violencia, se obtiene conjuntamente «no violencia».
Su codificación proviene de las siglas NBSP, que corresponden a «Non-Breaking SPace» (‘espacio no romplible’ en inglés).
* Plantilla:Esd, que reemplaza en todos los casos al código nbsp.
* Plantilla:Nowrap, que se utiliza para unir en un solo renglón los términos de un texto. Por ejemplo, si un número negativo queda al final de un renglón, el signo menos (–) queda erróneamente separado de la cifra que debe modificar. Para evitarlo se utiliza la plantilla {{nowrap}} de la siguiente manera: «El punto de fusión es de {{nowrap|–0,4 °C}}».

## Codificadores

| Formato | Representación de un espacio duro |
| Unicode e ISO/IEC 10646 | U+00A0. Puede ser codificado por UTF-8 como 0xC2 0xA0. |
| ISO/IEC 8859 | 0xA0 |
| CP1252 (predeterminado en Windows en la mayoría de países de lengua germánica o romance) | 0xA0 |
| KOI8-R | 0x9A |
| EBCDIC | 0x41 |
| CP437, CP850, CP866 | 0xFF |
| SGML y HTML (incluyendo Wikitexto) | Carácter de referencia de identidad: &nbsp; Referencias de carácter numérico: &#160; o &#xa0; |
| TeX | Virgulilla (~) |
| ASCII | No disponible |

## Métodos de entrada mediante teclado

No hay un estándar internacional para ingresar el carácter NBSP desde un teclado. Por eso, los autores de controladores de teclado o programas de aplicación (por ejemplo, de procesadores de texto) tuvieron que inventar sus propios atajos de teclado:
| Sistema operativo/Aplicación | Método de entrada |
| Mac OS | Opción+Espacio |
| X11 | compose, Espacio, Espacio |
| Emacs | Ctrl+X 8 Space |
| Vim | Ctrl+K N S |
| Windows (todas las aplicaciones) | Alt+0160 o Alt+255 (en teclado numérico) |
| Microsoft Word, Dreamweaver, OpenOffice.org (desde 3.0) | Ctrl+Mayús+Espacio |
| Adobe FrameMaker, WordPerfect, OpenOffice.org (antes de 3.0), LyX | Ctrl+Espacio, Ctrl+Mayús+Espacio para OpenOffice recientes (ver LP) |
| Aplicaciones basadas en GTK | Ctrl+Mayús+U 00A0 |
| Mac Adobe InDesign | Option+Command+X |
| TextMate | Opción+Espacio |

## Variaciones

Unicode define varios otros caracteres de espacio duro cuya anchura difiere del espacio normal:

### U+202F   NARROW NO-BREAK SPACE - ESPACIO DURO FINO

    Se introdujo en Unicode 3.0 para el mongol, para separar un sufijo de la raíz de la palabra sin indicar un límite de palabra. También se utiliza en la puntuación francesa, donde se llama espace fine insécable (o "puntuación doble"), antes de ;, ?, !, », › y después de «, ‹. También se suele utilizar hoy en día antes de los dos puntos :. En ruso antes del guion largo —. En alemán entre abreviaturas de varias partes (por ejemplo, "z. B.", "d. h.", "v. l. n. r."). Cuando se utiliza con el mongol, su anchura suele ser un tercio del espacio normal. En otros contextos, su anchura es aproximadamente el 70% del espacio normal, pero puede parecerse a la del espacio fino (U+2009) en algunas fuentes. Además, a partir de la versión 34 de Unicode Common Locale Data Repository (CLDR), el NNBSP se utiliza en los números como separador de grupos de miles para la configuración regional francesa y española.

### U+2007   FIGURE SPACE - ESPACIO PARA CIFRAS

    Produce un espacio igual a los caracteres numéricos (0-9).

### U+2060 WORD JOINER - UNIÓN DE PALABRAS

    Codificado en Unicode desde la versión 3.2, no produce ningún espacio y prohíbe un salto de línea en su posición.

### U+FEFF ZERO WIDTH NO-BREAK SPACE - ESPACIO DURO DE ANCHO CERO

    El uso del carácter U+FEFF como un espacio duro se ha vuelto obsoleto en la versión Unicode 3.2, la cual proporciona el carácter U+2060 como alternativa para este uso específico. Este carácter debe usarse solo como un marca de orden de bytes.