2010-09-26 28 views
5

Necesito encontrar los nombres para los caracteres Unicode cuando el usuario ingresa el número para el mismo. Un ejemplo sería ingresar 0041 y obtener como resultado la "Letra A mayúscula latina".Encontrar el nombre del carácter Unicode con Javascript

+0

Tendrá que construir (o apropiarse) una tabla de búsqueda. No hay nada integrado en el lenguaje o navegadores (o en cualquier otro lado del servidor que conozco) que hará esto por usted. – Pointy

+0

Otras soluciones pueden implicar el uso de módulos existentes o API web. – hippietrail

Respuesta

2

Hasta donde yo sé, no hay una forma estándar de hacerlo. Probablemente pueda analizar el archivo UnicodeData.txt para obtener esta información.

+3

@David Titarenco: el objetivo de Index.txt es generar asignaciones de nombre a punto de código (como esta: http://www.unicode.org/charts/charindex.html). Notarás que hay tres entradas para U + 0041 y ninguna para U + 0042. Los diversos archivos y sus propósitos están documentados aquí: http://unicode.org/reports/tr44/ Dependiendo del entorno en el que se ejecute el código, puede usar el formato XML, pero el OP no dice mucho sobre dónde este código se va a ejecutar – McDowell

2

Aquí debería estar lo que estás buscando. El primer conjunto es simplemente http://unicode.org/Public/UNIDATA/Index.txt con el reemplazo de líneas nuevas con |;

// this mess.. 
var unc = "A WITH ACUTE, LATIN CAPITAL LETTER 00C1| /*... really big array ...*/ |zwsp 200B"; 
var uncs=unc.split("|"); 
var final_a = []; 
var final_s = ""; 
for each (var item in uncs) { 
    var _T=item.split("\t"); 
    //final_a [_T[1]] = _T[0]; 
    final_s += '"' + _T[1] + '"' + ' : ' + '"' + _T[0] + '",'; 
} 

console.log (final_s); 

// yields.. 

var unicode_lookup = { /*really big array*/ } 

// which we can use like so ... 

alert(unicode_lookup["1D01"]); 
// AE, LATIN LETTER SMALL CAPITAL 

SO no conserva las pestañas, por lo que la primera parte puede no funcionar si simplemente la copia y pega. Notará que algunos caracteres son duplicados, por lo que es posible que desee realizar algunas tareas de limpieza.

+0

Me enteré de que esta respuesta podría no estar permitida en Stack Overflow ya que requiere recursos fuera del sitio. [Ver comentario en una pregunta duplicada.] (Https://stackoverflow.com/questions/44983646/how-can-i-get-the-official-unicode-name-of-a-character-in-javascript-from-either ? noredirect = 1 # comment76947882_44983646) – hippietrail

Cuestiones relacionadas