Unicode

  • Enlace amigable (slug) de la revisión: Guía_JavaScript_1.5/Unicode
  • Título de la revisión: Unicode
  • Id de la revisión: 284659
  • Creada:
  • Creador: DSN XP
  • ¿Es la revisión actual? No
  • Comentario /* Caracteres Unicode en archivos JavaScript */

Contenido de la revisión

Unicode

Unicode es un estandar universal para la codificación de caracteres para el intercambio y despliegue de los principales lenguajes escritos. Cubre los lenguajes de las Americas, Europa, Medio Este, África, India, Asia y el Pacífico, así como para escritos históricos y símbolos técnicos. El Unicode permite el intercambio, procesamiento y despliegue de textos multilingües, al igual para el uso de símbolos técnicos comunes y matemáticos. Unicode espera resolver los problemas de internacionalización para el cómputo multilingüe, tales como los diferentes estándares nacionales de caracteres. Sin embargo, no todas las escrituras modernas o arcaicas son soportadas actualmente.

El conjunto de caracteres Unicode puede ser usado por todas las codificaciones conocidas. Unicode es modelado después de el conjunto de caracteres ASCII (Código estandar americano para el intercambio de información {{mediawiki.external('American Standard Code for Information Interchange')}}). Utiliza para cada caracter nombres y valores numéricos. La codificación de caracteres especifica la identidad de los caracteres y sus valores numéricos (posición del código) así como la representación de estos valores en bits. El valor numérico de 16-bits (valor del código) está definido por números hexadecimales y un prefijo U, por ejemplo: U+0041 representa A. El nombre único para este valor es LA LETRA LATINA EN MAYÚSCULA A.

Unicode no es soportado por versiones anteriores a JavaScript 1.3.

Compatibilidad de Unicode con ASCII e ISO

Unicode es totalmente compatible con el estandar internacional ISO/IEC 10646-1; 1993, el cual es un sub conjunto del estandar ISO 10646.

Varias codificaciones estandar (incluyendo UTF-8, UTF-16 y la ISO UCS-2) son usadas para representar físicamente los bits actuales como Unicode.

La codificación UTF-8 de Unicode es compatible con los caracteres ASCII y es soportada por muchos programas. Los primeros 128 caracteres Unicode corresponden a los caracteres ASCII y tienen el mismo valor en bytes. Los caracteres Unicode U+0020 hasta U+007E son equivalentes a los caracteres ASCII 0x20 hasta 0x7E. A diferencia de la ASCII, la cual soporta el alfabeto Latino que utiliza un conjunto de caracteres de 7-bit, UTF-8 utiliza entre uno y cuatro octetos para cada caracter. (Un "Octeto" significa un byte, u 8 bits.) Esto permite la representación de millones de caracteres. Una codificación alternativa estandar, UTF-16, utiliza dos octetos para representar los caracteres Unicode. Una sequencia de escape permite a la UTF-16 representar el rango total Unicode usando cuatro octetos. La ISO UCS-2 (Conjunto de caracteres universales {{mediawiki.external('Universal Character Set')}}) utiliza dos octetos.

JavaScript y Navigator soportan UTF-8/Unicode lo cual significa que puede usar caracteres no-Latinos, internationales y localizados, más símbolos técnicos especiales en los programas JavaScript. Unicode provee una manera estandar para codificar textos multilingües. Desde la codificación UTF-8 de Unicode es posible la compatibilidad con ASCII, los programas pueden utilizar los caracteres ASCII. Puede utilizar caracteres no-ASCII Unicode en los comentarios, cadenas literales, identificadores y expresiones regulares de JavaScript.

Secuencias de escape unicode

Usted puede utilizar las secuencias de escape Unicode en cadenas literales, expresiones regulares e identificadores. La secuencia de escape consiste en seis caracteres ASCII: \u y un número hexadecimal de cuatro dígitos. Por ejemplo: \u00A9 representa el símbolo de copyright. Cada secuencia de escape Unicode escape en JavaScript es interpretada como un caracter más.

El código siguiente retorna el símbolo de copyright y una cadena "Centro de desarrollo Mozilla".

x="\u00A9 Centro de desarrollo Mozilla"

La siguiente tabla lista los caracteres especiales utilizados frecuentemente y su valor Unicode.

Categoría Valor Unicode Nombre Nombre del Formato
Valores de espacios en blanco \u0009 Tab <TAB>
  \u000B Tab Vertical <VT>
  \u000C Form Feed <FF>
  \u0020 Espacio <SP>
Valores terminales de Línea \u000A Avance de línea <LF>
  \u000D Retorno del carro <CR>
Valores adicionales de secuencias de escape Unicode \u0008 Retroceso <BS>
  \u0009 Tab Horizontal <HT>
  \u0022 Comilla doble "
  \u0027 Comilla simple '
  \u005C Backslash \

Tabla 2.2: Valores Unicode para caracteres especiales

JavaScript utiliza la secuencia de escape Unicode en forma diferente a Java. En JavaScript, la secuencia de escape nunca es interpretada como un primer caracter especial. Por ejemplo: una secuencia de escape terminal de línea dentro de una cadena no termina la cadena antes de ser interpretada por la función. JavaScript ignora cualquier secuencia de escape si ésta es utilizada en comentarios. En Java, si una secuencia de escape es utilizada en una línea simple de comentario, ésta es interpretada como un caracter Unicode. Para cadenas literales, el compilador de Java interpreta primero la secuencia de escape. Por ejemplo: si un caracter de escape terminal de línea (e.g., \u000A) es utilizado en Java, este termina la cadena literal. En Java, esto acarrea un error, debido a que los terminadores de línea no son permitidos en cadenas literales. Usted debe usar \n para un avance de línea en una cadena literal. En JavaScript, la secuencia de escape trabaja de la misma manera que \n.

Caracteres Unicode en archivos JavaScript

Las primeras versiones de Gecko asumían la codificación de caracteres Latin-1 para archivos JavaScript cargados desde XUL. A partir de Gecko 1.8, la codificación de caracteres es inferida desde la codificación de archivos XUL. Véase: Caracteres internacionales en XUL JavaScript para más información.

Desplegando caracteres con unicode

You can use Unicode to display the characters in different languages or technical symbols. For characters to be displayed properly, a client such as Mozilla Firefox or Netscape needs to support Unicode. Moreover, an appropriate Unicode font must be available to the client, and the client platform must support Unicode. Often, Unicode fonts do not display all the Unicode characters. Some platforms, such as Windows 95, provide partial support for Unicode.

To receive non-ASCII character input, the client needs to send the input as Unicode. Using a standard enhanced keyboard, the client cannot easily input the additional characters supported by Unicode. Sometimes, the only way to input Unicode characters is by using Unicode escape sequences.

For more information on Unicode, see the Unicode Home Page and The Unicode Standard, Version 2.0, published by Addison-Wesley, 1996.

{{template.AnteriorSiguiente("Guía JavaScript 1.5:Literales", "Guía JavaScript 1.5:Expresiones y operadores")}}

{{ wiki.languages( { "en": "en/Core_JavaScript_1.5_Guide/Unicode", "fr": "fr/Guide_JavaScript_1.5/Unicode", "ja": "ja/Core_JavaScript_1.5_Guide/Unicode", "ko": "ko/Core_JavaScript_1.5_Guide/Unicode", "pl": "pl/Przewodnik_po_j\u0119zyku_JavaScript_1.5/Unicode" } ) }}

Fuente de la revisión

<p>
</p>
<h3 name="Unicode"> Unicode </h3>
<p>Unicode es un estandar universal para la codificación de caracteres para el intercambio y despliegue de los principales lenguajes escritos. Cubre los lenguajes de las Americas, Europa, Medio Este, África, India, Asia y el Pacífico, así como para escritos históricos y símbolos técnicos. El Unicode permite el intercambio, procesamiento y despliegue de textos multilingües, al igual para el uso de símbolos técnicos comunes y matemáticos. Unicode espera resolver los problemas de internacionalización para el cómputo multilingüe, tales como los diferentes estándares nacionales de caracteres. Sin embargo, no todas las escrituras modernas o arcaicas son soportadas actualmente.
</p><p>El conjunto de caracteres Unicode puede ser usado por todas las codificaciones conocidas. Unicode es modelado después de el conjunto de caracteres ASCII (Código estandar americano para el intercambio de información {{mediawiki.external('American Standard Code for Information Interchange')}}). Utiliza para cada caracter nombres y valores numéricos. La codificación de caracteres especifica la identidad de los caracteres y sus valores numéricos (posición del código) así como la representación de estos valores en bits. El valor numérico de 16-bits (valor del código) está definido por números hexadecimales y un prefijo U, por ejemplo: U+0041 representa A. El nombre único para este valor es LA LETRA LATINA EN MAYÚSCULA A.
</p><p><b>Unicode no es soportado por versiones anteriores a JavaScript 1.3.</b>
</p>
<h4 name="Compatibilidad_de_Unicode_con_ASCII_e_ISO"> Compatibilidad de Unicode con ASCII e ISO </h4>
<p>Unicode es totalmente compatible con el estandar internacional ISO/IEC 10646-1; 1993, el cual es un sub conjunto del estandar ISO 10646.
</p><p>Varias codificaciones estandar (incluyendo UTF-8, UTF-16 y la ISO UCS-2) son usadas para representar físicamente los bits actuales como Unicode.
</p><p>La codificación UTF-8 de Unicode es compatible con los caracteres ASCII y es soportada por muchos programas. Los primeros 128 caracteres Unicode corresponden a los caracteres ASCII y tienen el mismo valor en bytes. Los caracteres Unicode U+0020 hasta U+007E son equivalentes a los caracteres ASCII 0x20 hasta 0x7E. A diferencia de la ASCII, la cual soporta el alfabeto Latino que utiliza un conjunto de caracteres de 7-bit, UTF-8 utiliza entre uno y cuatro octetos para cada caracter. (Un "Octeto" significa un byte, u 8 bits.) Esto permite la representación de millones de caracteres. Una codificación alternativa estandar, UTF-16, utiliza dos octetos para representar los caracteres Unicode. Una sequencia de escape permite a la UTF-16 representar el rango total Unicode usando cuatro octetos. La ISO UCS-2 (Conjunto de caracteres universales {{mediawiki.external('Universal Character Set')}}) utiliza dos octetos.
</p><p>JavaScript y Navigator soportan UTF-8/Unicode lo cual significa que puede usar caracteres no-Latinos, internationales y localizados, más símbolos técnicos especiales en los programas JavaScript. Unicode provee una manera estandar para codificar textos multilingües. Desde la codificación UTF-8 de Unicode es posible la compatibilidad con ASCII, los programas pueden utilizar los caracteres ASCII. Puede utilizar caracteres no-ASCII Unicode en los comentarios, cadenas literales, identificadores y expresiones regulares de JavaScript.
</p>
<h4 name="Secuencias_de_escape_unicode"> Secuencias de escape unicode </h4>
<p>Usted puede utilizar las secuencias de escape Unicode en cadenas literales, expresiones regulares e identificadores. La secuencia de escape consiste en seis caracteres ASCII: \u y un número hexadecimal de cuatro dígitos. Por ejemplo: \u00A9 representa el símbolo de copyright. Cada secuencia de escape Unicode escape en JavaScript es interpretada como un caracter más.
</p><p>El código siguiente retorna el símbolo de copyright y una cadena "Centro de desarrollo Mozilla".
</p>
<pre>x="\u00A9 Centro de desarrollo Mozilla"</pre>
<p>La siguiente tabla lista los caracteres especiales utilizados frecuentemente y su valor Unicode.
</p>
<table class="fullwidth-table">
<tbody><tr>
<th>Categoría</th>
<th>Valor Unicode</th>
<th>Nombre</th>
<th>Nombre del Formato</th>
</tr>
<tr>
<td>Valores de espacios en blanco</td>
<td>\u0009</td>
<td>Tab</td>
<td>&lt;TAB&gt;</td>
</tr>
<tr>
<td> </td>
<td>\u000B</td>
<td>Tab Vertical</td>
<td>&lt;VT&gt;</td>
</tr>
<tr>
<td> </td>
<td>\u000C</td>
<td>Form Feed</td>
<td>&lt;FF&gt;</td>
</tr>
<tr>
<td> </td>
<td>\u0020</td>
<td>Espacio</td>
<td>&lt;SP&gt;</td>
</tr>
<tr>
<td>Valores terminales de Línea</td>
<td>\u000A</td>
<td>Avance de línea</td>
<td>&lt;LF&gt;</td>
</tr>
<tr>
<td> </td>
<td>\u000D</td>
<td>Retorno del carro</td>
<td>&lt;CR&gt;</td>
</tr>
<tr>
<td>Valores adicionales de secuencias de escape Unicode</td>
<td>\u0008</td>
<td>Retroceso</td>
<td>&lt;BS&gt;</td>
</tr>
<tr>
<td> </td>
<td>\u0009</td>
<td>Tab Horizontal</td>
<td>&lt;HT&gt;</td>
</tr>
<tr>
<td> </td>
<td>\u0022</td>
<td>Comilla doble</td>
<td>"</td>
</tr>
<tr>
<td> </td>
<td>\u0027</td>
<td>Comilla simple</td>
<td>'</td>
</tr>
<tr>
<td> </td>
<td>\u005C</td>  
<td>Backslash</td>
<td>\</td>
</tr>
</tbody></table>
<p><small><b>Tabla 2.2: Valores Unicode para caracteres especiales</b></small>
</p><p>JavaScript utiliza la secuencia de escape Unicode en forma diferente a Java. En JavaScript, la secuencia de escape nunca es interpretada como un primer caracter especial. Por ejemplo: una secuencia de escape terminal de línea dentro de una cadena no termina la cadena antes de ser interpretada por la función. JavaScript ignora cualquier secuencia de escape si ésta es utilizada en comentarios. En Java, si una secuencia de escape es utilizada en una línea simple de comentario, ésta es interpretada como un caracter Unicode. Para cadenas literales, el compilador de Java interpreta primero la secuencia de escape. Por ejemplo: si un caracter de escape terminal de línea (e.g., \u000A) es utilizado en Java, este termina la cadena literal. En Java, esto acarrea un error, debido a que los terminadores de línea no son permitidos en cadenas literales. Usted debe usar \n para un avance de línea en una cadena literal. En JavaScript, la secuencia de escape trabaja de la misma manera que \n.
</p>
<h4 name="Caracteres_Unicode_en_archivos_JavaScript"> Caracteres Unicode en archivos JavaScript </h4>
<p>Las primeras versiones de <a href="es/Gecko">Gecko</a> asumían la codificación de caracteres Latin-1 para archivos JavaScript cargados desde XUL. A partir de Gecko 1.8, la codificación de caracteres es inferida desde la codificación de archivos XUL. Véase: <a href="es/Caracteres_internacionales_en_XUL_JavaScript">Caracteres internacionales en XUL JavaScript</a> para más información.
</p>
<h4 name="Desplegando_caracteres_con_unicode"> Desplegando caracteres con unicode </h4>
<p>You can use Unicode to display the characters in different languages or technical symbols. For characters to be displayed properly, a client such as Mozilla Firefox or Netscape needs to support Unicode. Moreover, an appropriate Unicode font must be available to the client, and the client platform must support Unicode. Often, Unicode fonts do not display all the Unicode characters. Some platforms, such as Windows 95, provide partial support for Unicode.
</p><p>To receive non-ASCII character input, the client needs to send the input as Unicode. Using a standard enhanced keyboard, the client cannot easily input the additional characters supported by Unicode. Sometimes, the only way to input Unicode characters is by using Unicode escape sequences.
</p><p>For more information on Unicode, see the <a class="external" href="http://www.unicode.org/">Unicode Home Page</a> and The Unicode Standard, Version 2.0, published by Addison-Wesley, 1996.
</p><p>{{template.AnteriorSiguiente("Guía JavaScript 1.5:Literales", "Guía JavaScript 1.5:Expresiones y operadores")}}
</p>{{ wiki.languages( { "en": "en/Core_JavaScript_1.5_Guide/Unicode", "fr": "fr/Guide_JavaScript_1.5/Unicode", "ja": "ja/Core_JavaScript_1.5_Guide/Unicode", "ko": "ko/Core_JavaScript_1.5_Guide/Unicode", "pl": "pl/Przewodnik_po_j\u0119zyku_JavaScript_1.5/Unicode" } ) }}
Revertir a esta revisión