Imprime los nombres de los personajes


42

Cada personaje de Unicode tiene un nombre, como "LETRA DE CAPITAL LATINO A". Un nombre de carácter Unicode puede contener solo letras mayúsculas, espacios en blanco y el signo menos.

Escriba un programa que lea un texto y muestre los nombres de cada carácter en una nueva línea. Por ejemplo, si la entrada fuera "¡Hola, mundo!", La salida sería

LATIN CAPITAL LETTER H
LATIN SMALL LETTER E
LATIN SMALL LETTER L
LATIN SMALL LETTER L
LATIN SMALL LETTER O
COMMA
SPACE
LATIN CAPITAL LETTER W
LATIN SMALL LETTER O
LATIN SMALL LETTER R
LATIN SMALL LETTER L
LATIN SMALL LETTER D
EXCLAMATION MARK
  • La entrada debe provenir de un archivo o de la entrada del usuario, no solo de una cadena de código.
  • La salida debe escribirse en un archivo o stdout o imprimirse en la pantalla.
  • Internet y las bibliotecas externas no están permitidas, todos los datos necesarios deben estar en el código.
  • Suponga que la entrada solo contiene caracteres ASCII imprimibles en el rango de código latino básico 32-126. Puede ignorar una nueva línea final.
  • Todos los lenguajes de programación permitidos. El código más corto en bytes gana.

Los nombres oficiales de los personajes Unicode se pueden encontrar aquí . Otras fuentes:

Esta es mi primera pregunta, así que agradecería cualquier sugerencia si se puede mejorar.

Para el propósito de este desafío, la siguiente lista será normativa.

    32  0020        SPACE
!   33  0021        EXCLAMATION MARK
"   34  0022        QUOTATION MARK
#   35  0023        NUMBER SIGN
$   36  0024        DOLLAR SIGN
%   37  0025        PERCENT SIGN
&   38  0026        AMPERSAND
'   39  0027        APOSTROPHE
(   40  0028        LEFT PARENTHESIS
)   41  0029        RIGHT PARENTHESIS
*   42  002A        ASTERISK
+   43  002B        PLUS SIGN
,   44  002C        COMMA
-   45  002D        HYPHEN-MINUS
.   46  002E        FULL STOP
/   47  002F        SOLIDUS
0   48  0030        DIGIT ZERO
1   49  0031        DIGIT ONE
2   50  0032        DIGIT TWO
3   51  0033        DIGIT THREE
4   52  0034        DIGIT FOUR
5   53  0035        DIGIT FIVE
6   54  0036        DIGIT SIX
7   55  0037        DIGIT SEVEN
8   56  0038        DIGIT EIGHT
9   57  0039        DIGIT NINE
:   58  003A        COLON
;   59  003B        SEMICOLON
<   60  003C        LESS-THAN SIGN
=   61  003D        EQUALS SIGN
>   62  003E        GREATER-THAN SIGN
?   63  003F        QUESTION MARK
@   64  0040        COMMERCIAL AT
A   65  0041        LATIN CAPITAL LETTER A
B   66  0042        LATIN CAPITAL LETTER B
C   67  0043        LATIN CAPITAL LETTER C
D   68  0044        LATIN CAPITAL LETTER D
E   69  0045        LATIN CAPITAL LETTER E
F   70  0046        LATIN CAPITAL LETTER F
G   71  0047        LATIN CAPITAL LETTER G
H   72  0048        LATIN CAPITAL LETTER H
I   73  0049        LATIN CAPITAL LETTER I
J   74  004A        LATIN CAPITAL LETTER J
K   75  004B        LATIN CAPITAL LETTER K
L   76  004C        LATIN CAPITAL LETTER L
M   77  004D        LATIN CAPITAL LETTER M
N   78  004E        LATIN CAPITAL LETTER N
O   79  004F        LATIN CAPITAL LETTER O
P   80  0050        LATIN CAPITAL LETTER P
Q   81  0051        LATIN CAPITAL LETTER Q
R   82  0052        LATIN CAPITAL LETTER R
S   83  0053        LATIN CAPITAL LETTER S
T   84  0054        LATIN CAPITAL LETTER T
U   85  0055        LATIN CAPITAL LETTER U
V   86  0056        LATIN CAPITAL LETTER V
W   87  0057        LATIN CAPITAL LETTER W
X   88  0058        LATIN CAPITAL LETTER X
Y   89  0059        LATIN CAPITAL LETTER Y
Z   90  005A        LATIN CAPITAL LETTER Z
[   91  005B        LEFT SQUARE BRACKET
\   92  005C        REVERSE SOLIDUS
]   93  005D        RIGHT SQUARE BRACKET
^   94  005E        CIRCUMFLEX ACCENT
_   95  005F        LOW LINE
`   96  0060        GRAVE ACCENT
a   97  0061        LATIN SMALL LETTER A
b   98  0062        LATIN SMALL LETTER B
c   99  0063        LATIN SMALL LETTER C
d   100 0064        LATIN SMALL LETTER D
e   101 0065        LATIN SMALL LETTER E
f   102 0066        LATIN SMALL LETTER F
g   103 0067        LATIN SMALL LETTER G
h   104 0068        LATIN SMALL LETTER H
i   105 0069        LATIN SMALL LETTER I
j   106 006A        LATIN SMALL LETTER J
k   107 006B        LATIN SMALL LETTER K
l   108 006C        LATIN SMALL LETTER L
m   109 006D        LATIN SMALL LETTER M
n   110 006E        LATIN SMALL LETTER N
o   111 006F        LATIN SMALL LETTER O
p   112 0070        LATIN SMALL LETTER P
q   113 0071        LATIN SMALL LETTER Q
r   114 0072        LATIN SMALL LETTER R
s   115 0073        LATIN SMALL LETTER S
t   116 0074        LATIN SMALL LETTER T
u   117 0075        LATIN SMALL LETTER U
v   118 0076        LATIN SMALL LETTER V
w   119 0077        LATIN SMALL LETTER W
x   120 0078        LATIN SMALL LETTER X
y   121 0079        LATIN SMALL LETTER Y
z   122 007A        LATIN SMALL LETTER Z
{   123 007B        LEFT CURLY BRACKET
|   124 007C        VERTICAL LINE
}   125 007D        RIGHT CURLY BRACKET
~   126 007E        TILDE

44
Hola, he seguido adelante y edité tu pregunta, retrocede si no estás de acuerdo. No necesita más fuentes de información, necesita una versión normativa en la pregunta, para evitar problemas con las discrepancias. Cogí ssec.wisc.edu/~tomw/java/unicode.html#x0000 ya que era la más concisa. Aparte de eso, +1
Level River St

Gracias por la edición @steveverrill, fui demasiado vago para hacerlo yo mismo.
Yo y mi gato

Aparentemente, los valores están disponibles como parte de Windows, en C:\Windows\System32\getuname.dll. ¿Esto también cuenta como una "biblioteca externa", incluso si está integrada en Windows?
lc.

66
Acabo de aprender la palabra solidus.
Lucas

Respuestas:


31

Java: 113 bytes (152 si se lee desde la línea de comandos)

Editar: se eliminaron las llaves inútiles.

Edit2: se eliminó la variable innecesaria.

Edit3: en lugar de Character.getName () uso c.getName ().

Edit4: paso de cadena como argumento de línea de comando.

Con argumento de línea de comando (113 bytes):

class Z{public static void main(String[]x){for(Character c:x[0].toCharArray())System.out.println(c.getName(c));}}

Con línea de lectura (152 bytes):

class Z{public static void main(String[]x){for(Character c:new java.util.Scanner(System.in).nextLine().toCharArray())System.out.println(c.getName(c));}}

Java tiene todo lo necesario. Estoy seguro de que esto podría ser menospreciado.


77
¡Maldita sea! Un incorporado! Para hacer de este un desafío interesante, consideraría que esto no cumple con "todos los datos necesarios deben estar en el código". Muy inteligente, sin embargo.
Level River St

1
@steveverrill Oh, bueno :). He visto otro desafío en el que el ceceo común hizo algo similar (contando de uno a 100 si no recuerdo mal).
Peter Lenkefi

66
Wow, esta vez Java tiene la oportunidad de vencer a muchos idiomas de golf.
vsz

44
Solución alternativa de Java 8: x[0].chars().forEach(i->System.out.println(Character.getName(i)));Esto ahorra 2 caracteres en comparación con la solución de argumento de línea de comandos (reemplazando el forbucle).
hjk

3
O tal vezx[0].chars().map(' '::getName).forEach(System.out::println);
Eric

18

Python 3, 56 bytes

Utiliza una función incorporada unicodedata.name(), por lo que puede no ser competente. La respuesta de Java lo hizo de manera similar, así que pensé que al menos valía la pena publicarla.

from unicodedata import*
for i in input():print(name(i))

También he querido publicar uno en Python, pero mi respuesta de Java fue bastante engañosa :).
Peter Lenkefi

1
¿Seguramente for i in input():print(unicodedata.name(i))es más corto?
Eric

1
@Eric No. Tienes que hacerlo import unicodedata, así que eso es más largo .
mbomb007

17

JavaScript (ES6) 594 618 626

Tenga en cuenta que podría ahorrar ~ 30 bytes comprimiendo la cadena larga con atob / btoa, pero el editor de publicaciones de Stack Exchange no acepta bien el carácter utf8 arriba de '~'. Prefiero mantener un fragmento en ejecución en su lugar.

Editar 8 caracteres guardados gracias a @Ypnypn

Compresión obvia de palabras repetidas. La nueva línea dentro de los backticks es significativa y contada.

Prueba a ejecutar el fragmento en Firefox.

// TEST SUITE
// for testing purpose, redefine alert() to write inside the snippet body
alert=x=>O.innerHTML=x
// for testing purpose, redefine prompt() to have a default text containing all characters
_prompt=prompt
prompt=(i,s)=>{
  for(s='',i=32;i<127;i++)s+=String.fromCharCode(i);
  return _prompt("Insert your message or keep the default",s);
}  
  
// That's the answer code:
z='SPACE/EXCLAMA0QUOTA0NUMBER1DOLLAR1PERCENT1AMPERSAND/APOSTROPHE3242ASTERISK/PLUS1COMMA/HYPHEN-MINUS/FULL STOP/78ZERO8ONE8TWO8THREE8FOUR8FIVE8SIX8SEVEN8EIGHT8NINE86SEMI6LESS-THAN1EQUALS1GREATER-THAN1QUES0COMMERCIAL AT3SQUARE5REVERSE 7/4SQUARE5CIRCUMFLEX9/LOW LINE/GRAVE93CURLY5VERTICAL LINE/4CURLY5TILDE'.replace(/\d/g,c=>'TION MARK/, SIGN/,PARENTHESIS/,/LEFT ,RIGHT , BRACKET/,COLON/,SOLIDUS,/DIGIT , ACCENT'.split`,`[c]).split`/`,alert([...prompt()].map(c=>(q=c.charCodeAt()-32)<33?z[q]:q<59?'LATIN CAPITAL LETTER '+c:q<65?z[q-26]:q<91?'LATIN SMALL LETTER '+c.toUpperCase():z[q-52]).join`
`)
<pre id=O></pre>


9

R, 54 bytes 62

library(Unicode)
cat(u_char_name(utf8ToInt(scan(,""))),sep="\n")

Editar: por comentario de @flodels, primero necesito leerlo desde la conexión, así que tuve que agregarlo scan. Esta también es probablemente una solución no competente de acuerdo con todas las reglas.

Uso

> cat(u_char_name(utf8ToInt(scan(,""))),sep="\n")
1: 'Hello, World!'
2: 
Read 1 item
LATIN CAPITAL LETTER H
LATIN SMALL LETTER E
LATIN SMALL LETTER L
LATIN SMALL LETTER L
LATIN SMALL LETTER O
COMMA
SPACE
LATIN CAPITAL LETTER W
LATIN SMALL LETTER O
LATIN SMALL LETTER R
LATIN SMALL LETTER L
LATIN SMALL LETTER D
EXCLAMATION MARK

También puede envolverlo en una función para un uso más conveniente

UNI <- function(x)cat(paste0(u_char_name(utf8ToInt(x)),"\n"))

Entonces, el uso es solo

UNI("Hello, World!")

1
Su recuento de bytes es correcto :)
Beta Decay

1
Y bienvenido a PPCG! : D
Beta Decay

Es bueno que tenga una tarea integrada, pero el resultado no es lo que se solicita: tabla de 4 columnas en lugar de tabla de 1 columna. Creo que debería agregar algo de núcleo para obtener la salida correcta
edc65

@ edc65 tan fácil de arreglar, solo pensé en ello como un bono.
David Arenburg

@ edc65 lo arregló.
David Arenburg

7

Perl 6 , 21 bytes

No vi una regla específica contra el uso de un método incorporado para obtener los nombres Unicode.
(También la respuesta de Java, que es la más votada actualmente, hace lo mismo)

.say for get.uninames

1
Perl 6 es raro. Sin embargo, me encanta.
gato

6

Perl (+ coreutils) , 563 bytes

Nota : ¡Lo siguiente no funcionará como está, necesita ser reproducido del xxdsiguiente volcado! Traté de pasar los datos en bruto directamente zcat, pero eso falló. Podría usar un módulo nativo Perl Gzip, ¡pero eso será mañana seguro!

use MIME::Base64;$x=encode_base64(join'',<DATA>);print eval(`base64 -D<<<'$x'|zcat`)->[-32+ord$_].$/for<>=~/./g
__END__
.....x.U.._.u.[r. .@.._~.E(X.i..............J_....1..N......7K......|ih....P...a7......,a.....o.!.=N.K.i.....$..vFv.Pv..........*o...=..|o..O.B..c%2\bj1Gr...nr.|c.{...q......3......aw;b\1...C.Yp..l..K...bB..2C...K..O8e.v...."..C..
.s; .}Oj.....JC..-`@.gMXM..@M...41k.i.K..M.&.&.&.&.&.MdM.&.;..X5q..M.wM|o....3.s.{....MJf4.h>G..B...~$....w...WC.q.2..b.o..Hh.7|.... c..(.I......d|.1...8.8.8.x.q.1.X..*.U.W..d|.....f..4f...l..g'>..oUq4.....j.jU...
0000000: 7573 6520 4d49 4d45 3a3a 4261 7365 3634  use MIME::Base64
0000010: 3b24 783d 656e 636f 6465 5f62 6173 6536  ;$x=encode_base6
0000020: 3428 6a6f 696e 2727 2c3c 4441 5441 3e29  4(join'',<DATA>)
0000030: 3b70 7269 6e74 2065 7661 6c28 6062 6173  ;print eval(`bas
0000040: 6536 3420 2d44 3c3c 3c27 2478 277c 7a63  e64 -D<<<'$x'|zc
0000050: 6174 6029 2d3e 5b2d 3332 2b6f 7264 245f  at`)->[-32+ord$_
0000060: 5d2e 242f 666f 723c 3e3d 7e2f 2e2f 670a  ].$/for<>=~/./g.
0000070: 5f5f 454e 445f 5f0a 1f8b 0808 ff78 ec55  __END__......x.U
0000080: 0003 5f00 7594 5b72 eb20 0c40 b7c2 5f7e  .._.u.[r. .@.._~
0000090: da45 2858 b669 c4c3 089c a49d ee7f 1b17  .E(X.i..........
00000a0: 92b1 9df4 4a5f 96ce d180 3192 7f4e 9cc0  ....J_....1..N..
00000b0: e2e9 e384 374b e0a1 b818 8c87 7c69 68a9  ....7K......|ih.
00000c0: b1bc 8150 fd19 b361 3785 960d 9108 f62c  ...P...a7......,
00000d0: 61b6 18ca 9682 6f80 210c 3d4e 914b 8e69  a.....o.!.=N.K.i
00000e0: eefb 108e c524 c8ad 7646 76dc 5076 d3fc  .....$..vFv.Pv..
00000f0: 9701 17cc 8efb ae89 2a6f cbda e83d b4e7  ........*o...=..
0000100: 7c6f ab85 4fef 42ed d563 2532 5c62 6a31  |o..O.B..c%2\bj1
0000110: 4772 c383 0e6e 72c5 7c63 8e7b 1203 ee71  Gr...nr.|c.{...q
0000120: b91e bccc 190f 33c6 9a8f c4ad 8761 773b  ......3......aw;
0000130: 625c 31ec 19f6 43ec 5970 8f8d 6ca4 d84b  b\1...C.Yp..l..K
0000140: 18bd db62 42e6 cf32 43d8 ce84 4b05 da4f  ...bB..2C...K..O
0000150: 3865 8476 f4b7 8aa5 22bf de43 ff0a ed73  8e.v...."..C...s
0000160: 3b20 037d 4f6a b714 8c85 e44a 4384 a52d  ; .}Oj.....JC..-
0000170: 6040 1367 4d58 4d0c 9a40 4d8c 9a98 3431  `@.gMXM..@M...41
0000180: 6bc2 69e2 4b13 174d 9026 bc26 8226 a226  k.i.K..M.&.&.&.&
0000190: 9226 164d 644d b026 d43b af9a 5835 71d5  .&.MdM.&.;..X5q.
00001a0: c44d 1377 4d7c 6fd3 cdad a133 9a73 067b  .M.wM|o....3.s.{
00001b0: c1fe aeb9 4d4a 6634 c768 3e47 febf 42eb  ....MJf4.h>G..B.
00001c0: b2ad 7e24 bc19 b0fd 77d2 978c 5743 cf71  ..~$....w...WC.q
00001d0: 9a32 acf8 621e 6fc1 1e48 68fa 377c 96b1  .2..b.o..Hh.7|..
00001e0: 95f1 2063 94f1 28e3 49c6 b38c 9d8c bf64  .. c..(.I......d
00001f0: 7c91 31c9 d8cb 38c8 38ca 38c9 7891 7196  |.1...8.8.8.x.q.
0000200: 31cb 58b9 cb2a e355 c657 19df 647c 97f1  1.X..*.U.W..d|..
0000210: dec2 b666 babf 3466 ebdf e26c eff5 6727  ...f..4f...l..g'
0000220: 3efb f76f 5571 34e0 e9f7 1fe2 6a1f 6a55  >..oUq4.....j.jU
0000230: 0700 00                                  ...

Para reproducir el archivo, ejecute:

xxd -r > 57413.pl

pegue el hexdump y presione Enter, luego Ctrl+ D.

Correr como:

perl 57413.pl <<< 'Hello, World!'
LATIN CAPITAL LETTER H
LATIN SMALL LETTER E
LATIN SMALL LETTER L
LATIN SMALL LETTER L
LATIN SMALL LETTER O
COMMA
SPACE
LATIN CAPITAL LETTER W
LATIN SMALL LETTER O
LATIN SMALL LETTER R
LATIN SMALL LETTER L
LATIN SMALL LETTER D
EXCLAMATION MARK

Versión anterior pura de Perl, 893 bytes

print[SPACE,'EXCLAMATION MARK','QUOTATION MARK',NUMBER.($s=" SIGN"),DOLLAR.$s,PERCENT.$s,AMPERSAND,APOSTROPHE,LEFT.($p=" PARENTHESIS"),RIGHT.$p,ASTERISK,PLUS.$s,COMMA,'HYPHEN-MINUS','FULL STOP',$d=SOLIDUS,($d="DIGIT ").ZERO,$d.ONE,$d.TWO,$d.THREE,$d.FOUR,$d.FIVE,$d.SIX,$d.SEVEN,$d.EIGHT,$d.NINE,COLON,SEMICOLON,"LESS-THAN$s",EQUALS.$s,"GREATER-THAN$s",'QUESTION MARK','COMMERCIAL AT',($b=($a=LATIN)." CAPITAL ".($l="LETTER ")).A,$b.B,$b.C,$b.D,$b.E,$b.F,$b.G,$b.H,$b.I,$b.J,$b.K,$b.L,$b.M,$b.N,$b.O,$b.P,$b.Q,$b.R,$b.S,$b.T,$b.U,$b.V,$b.W,$b.X,$b.Y,$b.Z,'LEFT SQUARE '.($e=BRACKET),"REVERSE $d","RIGHT SQUARE $e",'CIRCUMFLEX ACCENT','LOW LINE','GRAVE ACCENT',($m="$a SMALL $l ").A,$m.B,$m.C,$m.D,$m.E,$m.F,$m.G,$m.H,$m.I,$m.J,$m.K,$m.L,$m.M,$m.N,$m.O,$m.P,$m.Q,$m.R,$m.S,$m.T,$m.U,$m.V,$m.W,$m.X,$m.Y,$m.Z,"LEFT CURLY $e",'VERTICAL LINE',"RIGHT CURLY $e",TILDE]->[-32+ord$_].$/for<>=~/./g

5

awk - 794 739

     1 LETRA CAPITAL LATINA B
     2 LETRA CAPITAL LATINA E
     3 LETRA CAPITAL LATINA G
     4 LETRA CAPITAL LATINA I
     5 LETRA DE CAPITAL LATINO N
     6 SOPORTE RIZADO IZQUIERDO 
     7 Letra latina minúscula S
     8 LETRA LATINA PEQUEÑA P
     9 LETRA LATINA PEQUEÑA L
    10 LETRA LATINA PEQUEÑA I
    11 LETRA PEQUEÑA LATINA T
    12 PARENTESIS IZQUIERDA 
    13 MARCA DE COTIZACIÓN 
    14 LETRA LATINA PEQUEÑA I
    15 COMMA 
    16 LETRA CAPITAL LATINA L
    17 LETRA LATINA PEQUEÑA V
    18 COMMA 
    19 LETRA DE CAPITAL LATINO S
    20 LETRA LATINA PEQUEÑA V
    21 COMMA 
    22 CARTA LATINA PEQUEÑA A
    23 LETRA LATINA PEQUEÑA X
    24 COMMA 
    25 ACENTO CIRCUNFLEX 
    26 LETRA LATINA PEQUEÑA X
    27 COMMA 
    28 SOPORTE CUADRADO IZQUIERDO 
    29 LETRA LATINA PEQUEÑA X
    30 COMMA 
    31 LETRA Q CAPITAL LATINA
    32 COMMA 
    33 LETRA DE CAPITAL LATINO O
    34 COMMA 
    35 Letra latina minúscula t
    36 LETRA CAPITAL LATINA K
    37 COMMA 
    38 Letra latina minúscula c
    39 LETRA K DE CAPITAL LATINO
    40 COMMA 
    41 LETRA CAPITAL LATINA V
    42 COMMA 
    43 LETRA PEQUEÑA LATINA Q
    44 LETRA LATINA PEQUEÑA X
    45 COMMA 
    46 LETRA G MINÚSCULA LATINA
    47 COMMA 
    48 LETRA CAPITAL LATINA I
    49 COMMA 
    50 LETRAS LATINAS PEQUEÑAS W
    51 Letra latina minúscula u
    52 COMMA 
    53 LETRA DE CAPITAL LATINO X
    54 COMMA 
    55 Letra latina minúscula b
    56 LETRA PEQUEÑA LATINA Y
    57 COMMA 
    58 Letra latina pequeña B
    59 SOPORTE RIZADO IZQUIERDO 
    60 COMMA 
    61 Letra latina minúscula B
    62 Letra latina minúscula z
    63 COMMA 
    64 LETRA LATINA PEQUEÑA B
    65 LETRA PEQUEÑA LATINA D
    66 COMMA 
    67 Letra latina pequeña B
    68 LETRA PEQUEÑA LATINA P
    69 COMMA 
    70 Letra latina pequeña B
    71 LETRA LATINA PEQUEÑA R
    72 COMMA 
    73 Letra latina minúscula b
    74 SOPORTE RIZADO DERECHO 
    75 COMMA 
    76 LETRA LATINA B PEQUEÑA
    77 LETRA LATINA PEQUEÑA K
    78 COMMA 
    79 Letra latina minúscula b
    80 LETRA LATINA PEQUEÑA L
    81 COMMA 
    82 Letra latina minúscula b
    83 LETRA LATINA PEQUEÑA O
    84 COMMA 
    85 LETRA PEQUEÑA LATINA E
    86 COMMA 
    87 LETRA CAPITAL LATINA P
    88 COMMA 
    89 LETRA R CAPITAL LATINA
    90 LETRA LATINA PEQUEÑA X
    91 COMMA 
    92 LÍNEA BAJA 
    93 LETRA LATINA PEQUEÑA X
    94 COMMA 
    95 LETRA DE CAPITAL LATINA J
    96 LETRA LATINA PEQUEÑA X
    97 COMMA 
    98 LETRA DE CAPITAL LATINO U
    99 LETRA LATINA PEQUEÑA V
   100 COMMA 
   101 LETRA DE CAPITAL LATINA M
   102 TILDE 
   103 COMMA 
   104 ESPACIO 
   105 Letra latina minúscula t
   106 ACENTO GRAVE 
   107 LETRA CAPITAL LATINA Y
   108 COMMA 
   109 LETRA CAPITAL LATINA Z
   110 LETRA DE CAPITAL LATINO X
   111 COMMA 
   112 LETRA C MINÚSCULA LATINA
   113 ACENTO GRAVE 
   114 LETRA Y DE CAPITAL LATINO
   115 COMMA 
   116 LETRA DE CAPITAL LATINO N
   117 SOLIDO INVERSO 
   118 SOLIDO INVERSO 
   119 COMMA 
   120 LÍNEA VERTICAL 
   121 LETRA S LATINA PEQUEÑA
   122 COMMA 
   123 LETRA LATINA PEQUEÑA M
   124 SÓLIDO INVERSO 
   125 SÓLIDO INVERSO 
   126 COMMA 
   127 ESPACIO 
   128 Letra latina minúscula T
   129 Letra latina minúscula h
   130 LETRA CAPITAL LATINA Y
   131 COMMA 
   132 LETRA T CAPITAL LATINA
   133 LETRA PEQUEÑA LATINA S
   134 COMMA 
   135 LETRA C MINÚSCULA LATINA
   136 Letra latina minúscula h
   137 LETRA CAPITAL LATINA Y
   138 COMMA 
   139 LETRA PEQUEÑA LATINA F
   140 ESPACIO 
   141 LETRA CAPITAL LATINA H
   142 LETRA CAPITAL LATINA Y
   143 LETRA CAPITAL LATINA P
   144 LETRA CAPITAL LATINA H
   145 LETRA CAPITAL LATINA E
   146 LETRA DE CAPITAL LATINO N
   147 HYPHEN-MINUS 
   148 LETRA MAYÚSCULA LATINA M
   149 LETRA CAPITAL LATINA I
   150 LETRA CAPITAL LATINA N
   151 LETRA DE CAPITAL LATINO U
   152 LETRA DE CAPITAL LATINA S
   153 ESPACIO 
   154 LETRA CAPITAL LATINA G
   155 LETRA R CAPITAL LATINA
   156 LETRA CAPITAL LATINA E
   157 LETRA DE CAPITAL LATINO A
   158 LETRA CAPITAL LATINA T
   159 LETRA CAPITAL LATINA E
   160 LETRA CAPITAL LATINA R
   161 HYPHEN-MINUS 
   162 LETRA T CAPITAL LATINA
   163 LETRA CAPITAL LATINA H
   164 LETRA DE CAPITAL LATINO A
   165 LETRA DE CAPITAL LATINA N
   166 ESPACIO 
   167 LETRA CAPITAL LATINA P
   168 LETRA DE CAPITAL LATINO A
   169 LETRA R CAPITAL LATINA
   170 LETRA CAPITAL LATINA E
   171 LETRA DE CAPITAL LATINO N
   172 LETRA T CAPITAL LATINA
   173 LETRA CAPITAL LATINA H
   174 LETRA CAPITAL LATINA E
   175 LETRA DE CAPITAL LATINA S
   176 LETRA CAPITAL LATINA I
   177 LETRA CAPITAL LATINA S
   178 ESPACIO 
   179 LETRA CAPITAL LATINA E
   180 LETRA CAPITAL LATINA X
   181 LETRA CAPITAL LATINA C
   182 LETRA LETRA CAPITAL L
   183 LETRA DE CAPITAL LATINO A
   184 LETRA MAYÚSCULA LATINA M
   185 LETRA DE CAPITAL LATINO A
   186 LETRA CAPITAL LATINA T
   187 LETRA CAPITAL LATINA I
   188 LETRA DE CAPITAL LATINA O
   189 LETRA N DE CAPITAL LATINO
   190 ESPACIO 
   191 LETRA CAPITAL LATINA C
   192 LETRA DE CAPITAL LATINA O
   193 LETRA MAYÚSCULA LATINA M
   194 LETRA DE CAPITAL LATINA M
   195 LETRA CAPITAL LATINA E
   196 LETRA R CAPITAL LATINA
   197 LETRA CAPITAL LATINA C
   198 LETRA CAPITAL LATINA I
   199 LETRA DE CAPITAL LATINO A
   200 LETRAS MAYÚSCULAS LATINAS L
   201 ESPACIO 
   202 LETRA C DE CAPITAL LATINO
   203 LETRA CAPITAL LATINA I
   204 LETRA R CAPITAL LATINA
   205 LETRA CAPITAL LATINA C
   206 LETRA DE CAPITAL LATINO U
   207 LETRA MAYÚSCULA LATINA M
   208 LETRA CAPITAL LATINA F
   209 LETRA CAPITAL LATINA L
   210 LETRA CAPITAL LATINA E
   211 LETRA CAPITAL LATINA X
   212 ESPACIO 
   213 LETRA DE CAPITAL LATINO A
   214 LETRA CAPITAL LATINA P
   215 LETRA DE CAPITAL LATINO O
   216 LETRA CAPITAL LATINA S
   217 LETRA CAPITAL LATINA T
   218 LETRA R CAPITAL LATINA
   219 LETRA DE CAPITAL LATINO O
   220 LETRA CAPITAL LATINA P
   221 LETRA CAPITAL LATINA H
   222 LETRA CAPITAL LATINA E
   223 ESPACIO 
   224 LETRA CAPITAL LATINA S
   225 LETRA CAPITAL LATINA E
   226 LETRA CAPITAL LATINA M
   227 LETRA CAPITAL LATINA I
   228 LETRA CAPITAL LATINA C
   229 LETRA DE CAPITAL LATINO O
   230 LETRA CAPITAL LATINA L
   231 LETRA DE CAPITAL LATINO O
   232 LETRA N DE CAPITAL LATINO
   233 ESPACIO 
   234 LETRA DE CAPITAL LATINO A
   235 LETRA CAPITAL LATINA M
   236 LETRA CAPITAL LATINA P
   237 LETRA DE CAPITAL LATINO E
   238 LETRA R CAPITAL LATINA
   239 LETRA CAPITAL LATINA S
   240 LETRA DE CAPITAL LATINO A
   241 LETRA N DE CAPITAL LATINO
   242 LETRA CAPITAL LATINA D
   243 ESPACIO 
   244 LETRA LETRA CAPITAL L
   245 LETRA CAPITAL LATINA E
   246 LETRA DE CAPITAL LATINA S
   247 LETRA DE CAPITAL LATINA S
   248 HYPHEN-MINUS 
   249 LETRA T CAPITAL LATINA
   250 LETRAS MAYÚSCULAS LATINAS H
   251 LETRA DE CAPITAL LATINO A
   252 LETRA N DE CAPITAL LATINO
   253 ESPACIO 
   254 LETRA Q CAPITAL LATINA
   255 LETRA DE CAPITAL LATINO U
   256 LETRA DE CAPITAL LATINA O
   257 LETRA CAPITAL LATINA T
   258 LETRA DE CAPITAL LATINO A
   259 LETRA CAPITAL LATINA T
   260 LETRA CAPITAL LATINA I
   261 LETRA DE CAPITAL LATINA O
   262 LETRA N DE CAPITAL LATINO
   263 ESPACIO 
   264 LETRA CAPITAL LATINA V
   265 LETRA CAPITAL LATINA E
   266 LETRA CAPITAL LATINA R
   267 LETRA CAPITAL LATINA T
   268 LETRA CAPITAL LATINA I
   269 ​​LETRA CAPITAL LATINA C
   270 LETRA DE CAPITAL LATINO A
   271 LETRA CAPITAL LATINA L
   272 ESPACIO 
   273 LETRA Q CAPITAL LATINA
   274 LETRA DE CAPITAL LATINO U
   275 LETRA CAPITAL LATINA E
   276 LETRA CAPITAL LATINA S
   277 LETRA CAPITAL LATINA T
   278 LETRA CAPITAL LATINA I
   279 LETRA DE CAPITAL LATINO O
   280 LETRA N DE CAPITAL LATINO
   281 ESPACIO 
   282 LETRA DE CAPITAL LATINO A
   283 LETRA CAPITAL LATINA S
   284 LETRA CAPITAL LATINA T
   285 LETRA CAPITAL LATINA E
   286 LETRA R CAPITAL LATINA
   287 LETRA CAPITAL LATINA I
   288 LETRA CAPITAL LATINA S
   289 LETRA K DE CAPITAL LATINO
   290 ESPACIO 
   291 LETRA CAPITAL LATINA C
   292 LETRA DE CAPITAL LATINO A
   293 LETRA CAPITAL LATINA P
   294 LETRA CAPITAL LATINA I
   295 LETRA CAPITAL LATINA T
   296 LETRA DE CAPITAL LATINO A
   297 LETRA CAPITAL LATINA L
   298 ESPACIO 
   299 LETRA DE CAPITAL LATINA S
   300 LETRAS MAYÚSCULAS LATINAS O
   301 LETRA CAPITAL LATINA L
   302 LETRA CAPITAL LATINA I
   303 LETRA CAPITAL LATINA D
   304 LETRA DE CAPITAL LATINO U
   305 LETRA CAPITAL LATINA S
   306 ESPACIO 
   307 LETRA CAPITAL LATINA B
   308 LETRA R CAPITAL LATINA
   309 LETRA DE CAPITAL LATINO A
   310 LETRA C DE CAPITAL LATINO
   311 LETRA CAPITAL LATINA K
   312 LETRA CAPITAL LATINA E
   313 LETRA CAPITAL LATINA T
   314 ESPACIO 
   315 LETRA R CAPITAL LATINA
   316 LETRA CAPITAL LATINA E
   317 LETRA CAPITAL LATINA V
   318 LETRA E CAPITAL LATINA
   319 LETRA R CAPITAL LATINA
   320 LETRAS MAYÚSCULAS LATINAS
   321 LETRA DE CAPITAL LATINA E
   322 ESPACIO 
   323 LETRA CAPITAL LATINA P
   324 LETRA CAPITAL LATINA E
   325 LETRA R CAPITAL LATINA
   326 LETRA CAPITAL LATINA C
   327 LETRA CAPITAL LATINA E
   328 LETRA N DE CAPITAL LATINO
   329 LETRA CAPITAL LATINA T
   330 ESPACIO 
   331 LETRA DE CAPITAL LATINO A
   332 LETRA CAPITAL LATINA C
   333 LETRA C DE CAPITAL LATINO
   334 LETRA CAPITAL LATINA E
   335 LETRA N DE CAPITAL LATINO
   336 LETRA MAYÚSCULA LATINA T
   337 ESPACIO 
   338 LETRA LETRA CAPITAL L
   339 LETRA CAPITAL LATINA E
   340 LETRA CAPITAL LATINA T
   341 LETRA CAPITAL LATINA T
   342 LETRA CAPITAL LATINA E
   343 LETRA DE CAPITAL LATINA R
   344 ESPACIO 
   345 LETRA CAPITAL LATINA D
   346 LETRA DE CAPITAL LATINA O
   347 LETRA LETRA CAPITAL L
   348 LETRA CAPITAL LATINA L
   349 LETRA DE CAPITAL LATINO A
   350 LETRA DE CAPITAL LATINA R
   351 ESPACIO 
   352 LETRA CAPITAL LATINA E
   353 LETRA DE CAPITAL LATINA Q
   354 LETRA DE CAPITAL LATINA U
   355 LETRA DE CAPITAL LATINO A
   356 LETRA CAPITAL LATINA L
   357 LETRA CAPITAL LATINA S
   358 ESPACIO 
   359 LETRA CAPITAL LATINA S
   LETRA Q DE CAPITAL LATINO 360
   361 LETRA DE CAPITAL LATINO U
   362 LETRA DE CAPITAL LATINO A
   363 LETRA CAPITAL LATINA R
   364 LETRA CAPITAL LATINA E
   365 ESPACIO 
   366 LETRA N DE CAPITAL LATINO
   367 LETRA DE CAPITAL LATINO U
   368 LETRA DE CAPITAL LATINA M
   369 LETRA CAPITAL LATINA B
   370 LETRA E CAPITAL LATINA
   371 LETRA DE CAPITAL LATINA R
   372 ESPACIO 
   373 LETRA CAPITAL LATINA D
   374 LETRA CAPITAL LATINA I
   375 LETRA CAPITAL LATINA G
   376 LETRA CAPITAL LATINA I
   377 LETRA CAPITAL LATINA T
   378 ESPACIO 
   379 LETRA R CAPITAL LATINA
   380 LETRA CAPITAL LATINA I
   381 LETRA CAPITAL LATINA G
   382 LETRA CAPITAL LATINA H
   383 LETRA CAPITAL LATINA T
   384 ESPACIO 
   385 LETRA CAPITAL LATINA T
   386 LETRA CAPITAL LATINA H
   387 LETRA DE CAPITAL LATINA R
   388 LETRA CAPITAL LATINA E
   389 LETRA CAPITAL LATINA E
   390 ESPACIO 
   391 LETRA CAPITAL LATINA C
   392 LETRA DE CAPITAL LATINO O
   393 LETRA CAPITAL LATINA L
   394 LETRA DE CAPITAL LATINA O
   395 LETRA N DE CAPITAL LATINO
   396 ESPACIO 
   397 LETRA CAPITAL LATINA T
   398 LETRA CAPITAL LATINA I
   399 LETRA CAPITAL LATINA L
   400 LETRAS CAPITAL LATINA D
   401 LETRA CAPITAL LATINA E
   402 ESPACIO 
   403 LETRA CAPITAL LATINA C
   404 LETRA DE CAPITAL LATINA O
   405 LETRA CAPITAL LATINA M
   406 LETRA MAYÚSCULA LATINA M
   407 LETRA DE CAPITAL LATINO A
   408 ESPACIO 
   409 LETRA CAPITAL LATINA C
   410 LETRA DE CAPITAL LATINO U
   411 LETRA CAPITAL LATINA R
   412 LETRA LETRA CAPITAL L
   413 LETRA CAPITAL LATINA Y
   414 ESPACIO 
   415 LETRA CAPITAL LATINA S
   416 LETRA CAPITAL LATINA P
   417 LETRA DE CAPITAL LATINO A
   418 LETRA CAPITAL LATINA C
   419 LETRA CAPITAL LATINA E
   420 ESPACIO 
   421 LETRA DE CAPITAL LATINA S
   422 LETRA CAPITAL LATINA M
   423 LETRA DE CAPITAL LATINO A
   424 LETRA CAPITAL LATINA L
   425 LETRA CAPITAL LATINA L
   426 ESPACIO 
   427 LETRA DE CAPITAL LATINA S
   428 LETRA CAPITAL LATINA E
   429 LETRA CAPITAL LATINA V
   430 LETRA E CAPITAL LATINA
   431 LETRA N DE CAPITAL LATINO
   432 ESPACIO 
   433 LETRA CAPITAL LATINA E
   434 LETRA CAPITAL LATINA I
   435 LETRA CAPITAL LATINA G
   436 LETRA CAPITAL LATINA H
   437 LETRA CAPITAL LATINA T
   438 ESPACIO 
   439 LETRA CAPITAL LATINA G
   440 LETRA DE CAPITAL LATINA R
   441 LETRA DE CAPITAL LATINO A
   442 LETRA CAPITAL LATINA V
   443 LETRA CAPITAL LATINA E
   444 ESPACIO 
   445 LETRA CAPITAL LATINA L
   446 LETRA DE CAPITAL LATINO A
   447 LETRA T CAPITAL LATINA
   448 LETRA CAPITAL LATINA I
   449 LETRA N DE CAPITAL LATINO
   450 ESPACIO 
   451 LETRA CAPITAL LATINA N
   452 LETRA CAPITAL LATINA I
   453 LETRA CAPITAL LATINA N
   454 LETRA CAPITAL LATINA E
   455 ESPACIO 
   456 LETRA CAPITAL LATINA F
   457 LETRA DE CAPITAL LATINA O
   458 LETRA DE CAPITAL LATINO U
   459 LETRA R CAPITAL LATINA
   460 ESPACIO 
   461 LETRA CAPITAL LATINA P
   462 LETRA CAPITAL LATINA L
   463 LETRA DE CAPITAL LATINO U
   464 LETRA CAPITAL LATINA S
   465 ESPACIO 
   466 LETRA CAPITAL LATINA F
   467 LETRA CAPITAL LATINA I
   468 LETRA CAPITAL LATINA V
   469 LETRA CAPITAL LATINA E
   470 ESPACIO 
   471 LETRA CAPITAL LATINA L
   472 LETRA CAPITAL LATINA I
   473 LETRA N DE CAPITAL LATINO
   474 LETRA CAPITAL LATINA E
   475 ESPACIO 
   476 LETRA CAPITAL LATINA L
   477 LETRA CAPITAL LATINA E
   478 LETRA CAPITAL LATINA F
   479 LETRA CAPITAL LATINA T
   480 ESPACIO 
   481 LETRA CAPITAL LATINA S
   482 LETRA CAPITAL LATINA T
   483 LETRA DE CAPITAL LATINA O
   484 LETRA CAPITAL LATINA P
   485 ESPACIO 
   486 LETRA MAYÚSCULA LATINA M
   487 LETRA DE CAPITAL LATINO A
   488 LETRA R CAPITAL LATINA
   489 LETRA K DE CAPITAL LATINO
   490 ESPACIO 
   491 LETRA CAPITAL LATINA F
   492 LETRA DE CAPITAL LATINO U
   493 LETRA LETRA CAPITAL L
   494 LETRA CAPITAL LATINA L
   495 ESPACIO 
   496 LETRA CAPITAL LATINA S
   497 LETRA CAPITAL LATINA I
   498 LETRA CAPITAL LATINA G
   499 LETRA N DE CAPITAL LATINO
   500 ESPACIO 
   501 LETRA CAPITAL LATINA Z
   502 LETRA CAPITAL LATINA E
   503 LETRA R CAPITAL LATINA
   504 LETRA DE CAPITAL LATINA O
   505 ESPACIO 
   506 LETRA CAPITAL LATINA T
   507 LETRA CAPITAL LATINA W
   508 LETRA DE CAPITAL LATINA O
   509 ESPACIO 
   510 LETRA DE CAPITAL LATINA O
   511 LETRA CAPITAL LATINA N
   512 LETRA DE CAPITAL LATINA E
   513 ESPACIO 
   514 LETRA CAPITAL LATINA L
   515 LETRA DE CAPITAL LATINA O
   516 LETRA CAPITAL LATINA W
   517 ESPACIO 
   518 LETRA CAPITAL LATINA S
   519 LETRA CAPITAL LATINA I
   520 LETRA CAPITAL LATINA X
   521 ESPACIO 
   522 LETRA DE CAPITAL LATINO A
   523 LETRA CAPITAL LATINA T
   524 MARCA DE COTIZACIÓN 
   525 COMMA 
   526 LETRA LATINA PEQUEÑA W
   527 PARENTESIS DERECHA 
   528 SEMICOLON 
   529 Letra latina minúscula y
   530 SIGNO IGUAL 
   531 LETRA LATINA PEQUEÑA W
   532 SOPORTE CUADRADO IZQUIERDO 
   533 DIGITOS DOS 
   534 SOPORTE CUADRADO DERECHO 
   535 SEMICOLON 
   536 LETRA LATINA PEQUEÑA F
   537 LETRA O LATINA PEQUEÑA
   538 LETRA LATINA PEQUEÑA R
   539 IZQUIERDA PARENTESIS 
   540 LETRA LATINA PEQUEÑA X
   541 SIGNO IGUAL 
   542 LETRA PEQUEÑA LATINA W
   543 SOPORTE CUADRADO IZQUIERDO 
   544 DIGIT ONE 
   545 SOPORTE CUADRADO DERECHO 
   546 SEMICOLON 
   547 LETRA LATINA PEQUEÑA I
   548 PLUS SIGN 
   549 PLUS SIGN 
   550 MENOS QUE EL SIGNO 
   551 DIGITOS DOS 
   552 DÍGITOS SEIS 
   553 SEMICOLON 
   554 LETRA LATINA PEQUEÑA X
   555 SIGNO IGUAL 
   556 LETRA LATINA PEQUEÑA X
   557 MARCA DE COTIZACIÓN 
   558 LETRA LATINA PEQUEÑA N
   559 LETRA CAPITAL LATINA W
   SOPORTE CUADRADO DERECHO 560 
   561 COMMA 
   562 MARCA DE COTIZACIÓN 
   563 PARENTESIS DERECHA 
   564 LETRA Y LATINA PEQUEÑA
   565 SIGNO IGUAL 
   566 LETRA PEQUEÑA LATINA Y
   567 MARCA DE COTIZACIÓN 
   568 LETRA LATINA PEQUEÑA N
   569 Letra latina minúscula J
   570 SOPORTE CUADRADO DERECHO 
   571 COMMA 
   572 MARCA DE COTIZACIÓN 
   573 SEMICOLON 
   574 LETRA LATINA PEQUEÑA F
   575 LETRA O LATINA PEQUEÑA
   576 LETRA LATINA PEQUEÑA R
   577 IZQUIERDA PARENTESIS 
   578 LETRA S LATINA PEQUEÑA
   579 LETRA PEQUEÑA LATINA P
   580 LETRA LATINA PEQUEÑA L
   581 LETRA LATINA PEQUEÑA I
   582 Letra latina minúscula t
   583 IZQUIERDA PARENTESIS 
   584 LETRA LATINA PEQUEÑA X
   585 ESPACIO 
   586 LETRA Y LATINA PEQUEÑA
   587 ESPACIO 
   588 LETRA PEQUEÑA LATINA W
   589 SOPORTE CUADRADO IZQUIERDO 
   590 DIGITOS TRES 
   SOPORTE CUADRADO DERECHO 591 
   592 COMMA 
   593 LETRA PEQUEÑA LATINA B
   594 COMMA 
   595 MARCA DE COTIZACIÓN 
   596 COMMA 
   597 MARCA DE COTIZACIÓN 
   598 PARENTESIS DERECHA 
   599 SEMICOLON 
   600 letra latina minúscula j
   601 PLUS SIGN 
   602 PLUS SIGN 
   603 MENOS QUE EL SIGNO 
   604 DIGIT ONE 
   605 DIGITOS DOS 
   606 DÍGITOS SEIS 
   607 SEMICOLON 
   608 LETRA CAPITAL LATINA F
   609 LETRA DE CAPITAL LATINA S
   610 SIGNO IGUAL 
   611 LÍNEA BAJA 
   612 PARENTESIS DERECHA 
   613 LETRA D MINÚSCULA LATINA
   614 SOPORTE CUADRADO IZQUIERDO 
   615 LETRA S LATINA PEQUEÑA
   616 LETRA PEQUEÑA LATINA P
   617 LETRA LATINA PEQUEÑA R
   618 LETRA LATINA PEQUEÑA I
   619 LETRA LATINA PEQUEÑA N
   620 T LETRA PEQUEÑA LATINA
   621 LETRA PEQUEÑA LATINA F
   622 IZQUIERDA PARENTESIS 
   623 MARCA DE COTIZACIÓN 
   624 POR CIENTO 
   625 LETRA C MINÚSCULA LATINA
   626 MARCA DE COTIZACIÓN 
   627 COMMA 
   628 Letra latina minúscula J
   629 PARENTESIS DERECHA 
   SOPORTE CUADRADO DERECHO 630 
   631 SIGNO IGUAL 
   632 Letra latina minúscula J
   SOPORTE RIZADO DERECHO 633 
   634 SOPORTE RIZADO IZQUIERDO 
   635 LETRA LATINA PEQUEÑA F
   636 LETRA O LATINA PEQUEÑA
   637 LETRA LATINA PEQUEÑA R
   638 IZQUIERDA PARENTESIS 
   639 LETRA K LATINA PEQUEÑA
   640 SIGNO IGUAL 
   641 DIGIT ZERO 
   642 SEMICOLON 
   643 LETRA K LATINA PEQUEÑA
   644 PLUS SIGN 
   645 PLUS SIGN 
   646 MENOS QUE SEÑAL 
   647 LETRA CAPITAL LATINA N
   648 LETRA CAPITAL LATINA F
   649 SEMICOLON 
   650 LETRA PEQUEÑA LATINA P
   651 LETRA LATINA PEQUEÑA R
   652 LETRA LATINA PEQUEÑA I
   653 LETRA LATINA PEQUEÑA N
   654 LETRA T LATINA PEQUEÑA
   655 ESPACIO 
   656 LETRA LATINA PEQUEÑA I
   657 SIGNO IGUAL 
   658 LÍNEA BAJA 
   659 PARENTESIS DERECHA 
   660 LETRA LATINA PEQUEÑA W
   661 Letra latina minúscula H
   662 LETRA LATINA PEQUEÑA I
   663 LETRA LATINA PEQUEÑA L
   664 LETRA PEQUEÑA LATINA E
   665 IZQUIERDA PARENTESIS 
   666 LETRA LATINA PEQUEÑA I
   667 PLUS SIGN 
   668 PLUS SIGN 
   669 MENOS QUE SEÑAL 
   670 LETRA S LATINA PEQUEÑA
   671 LETRA LATINA PEQUEÑA P
   672 LETRA LATINA PEQUEÑA L
   673 LETRA LATINA PEQUEÑA I
   674 LETRA LATINA PEQUEÑA T
   675 IZQUIERDA PARENTESIS 
   676 LETRA LATINA B PEQUEÑA
   677 SOPORTE CUADRADO IZQUIERDO 
   678 LETRA D LATINA PEQUEÑA
   679 SOPORTE CUADRADO IZQUIERDO 
   SEÑAL DE 680 DÓLARES 
   681 LETRA K LATINA PEQUEÑA
   SOPORTE CUADRADO DERECHO 682 
   683 HYPHEN-MINUS 
   684 DÍGITOS TRES 
   685 DIGIT ONE 
   686 SOPORTE CUADRADO DERECHO 
   687 COMMA 
   688 LETRA PEQUEÑA LATINA Q
   689 PARENTESIS DERECHA 
   690 PARENTESIS DERECHA 
   691 LETRA PEQUEÑA LATINA P
   692 LETRA LATINA PEQUEÑA R
   693 LETRA LATINA PEQUEÑA I
   694 Letra latina minúscula n
   695 T LETRA PEQUEÑA LATINA
   696 LETRA PEQUEÑA LATINA F
   697 IZQUIERDA PARENTESIS 
   698 Letra latina minúscula z
   699 IGUAL A SIGNO 
   700 LETRAS LATINAS PEQUEÑAS W
   701 SOPORTE CUADRADO IZQUIERDO 
   702 LETRA PEQUEÑA LATINA D
   703 SOPORTE CUADRADO IZQUIERDO 
   704 LETRA PEQUEÑA LATINA Q
   705 SOPORTE CUADRADO IZQUIERDO 
   706 LETRA LATINA PEQUEÑA I
   707 SOPORTE CUADRADO DERECHO 
   708 SOPORTE CUADRADO DERECHO 
   709 HYPHEN-MINUS 
   710 DÍGITOS SEIS 
   711 DÍGITO NUEVE 
   712 SOPORTE CUADRADO DERECHO 
   713 PARENTESIS DERECHA 
   714 MARCA DE COTIZACIÓN 
   715 ESPACIO 
   716 MARCA DE COTIZACIÓN 
   717 IZQUIERDA PARENTESIS 
   718 LETRA LATINA PEQUEÑA Z
   719 TILDE 
   720 SOLIDUS 
   721 LETRA CAPITAL LATINA T
   722 LETRA T CAPITAL LATINA
   723 SOLIDUS 
   724 PREGUNTA MARCA 
   725 LETRA T LATINA PEQUEÑA
   726 LETRA PEQUEÑA LATINA O
   727 Letra latina minúscula u
   728 LETRA PÚBLICA LATINA P
   729 LETRA PÚBLICA LATINA P
   730 LETRA E LATINA PEQUEÑA
   731 LETRA LATINA PEQUEÑA R
   732 IZQUIERDA PARENTESIS 
   733 DÓLAR SIGNO 
   734 LETRA K LATINA PEQUEÑA
   735 PARENTESIS DERECHA 
   736 COLON 
   737 LÍNEA BAJA 
   738 PARENTESIS DERECHA 
   SOPORTE RIZADO DERECHO 739

Es broma; D

BEGIN{split("i,Lv,Sv,ax,^x,[x,Q,O,tK,cK,V,qx,g,I,wu,X,by,b{,bz,bd,bp,br,b},bk,bl,bo,e,P,Rx,_x,Jx,Uv,M~, t`Y,ZX,c`Y,N\\,|s,m\\, thY,Ts,chY,f HYPHEN-MINUS GREATER-THAN PARENTHESIS EXCLAMATION COMMERCIAL CIRCUMFLEX APOSTROPHE SEMICOLON AMPERSAND LESS-THAN QUOTATION VERTICAL QUESTION ASTERISK CAPITAL SOLIDUS BRACKET REVERSE PERCENT ACCENT LETTER DOLLAR EQUALS SQUARE NUMBER DIGIT RIGHT THREE COLON TILDE COMMA CURLY SPACE SMALL SEVEN EIGHT GRAVE LATIN NINE FOUR PLUS FIVE LINE LEFT STOP MARK FULL SIGN ZERO TWO ONE LOW SIX AT",w);x=w[1];for(y=w[2];C++<26;x=x"nW],")y=y"nj],";for(split(x y w[3],b,",");j++<126;FS=_)d[sprintf("%c",j)]=j}{for(k=0;k++<NF;print i=_)while(i++<split(b[d[$k]-31],q))printf(z=w[d[q[i]]-69])" "(z~/TT/?toupper($k):_)}

Funciona con stdin / stdout.

Más "legible":

BEGIN{

  # This string (508 bytes) holds a representation of the character names in 
  # the right order, plus a list of the used words.

    split("i,Lv,Sv,ax,^x,[x,Q,O,tK,cK,V,qx,g,I,wu,X,by,b{,bz,bd,bp,br,b},bk,bl,bo,
    e,P,Rx,_x,Jx,Uv,M~, t`Y,ZX,c`Y,N\\,|s,m\\, thY,Ts,chY,f HYPHEN-MINUS GREATER-T
    HAN PARENTHESIS EXCLAMATION COMMERCIAL CIRCUMFLEX APOSTROPHE SEMICOLON AMPERSA
    ND LESS-THAN QUOTATION VERTICAL QUESTION ASTERISK CAPITAL SOLIDUS BRACKET REVE
    RSE PERCENT ACCENT LETTER DOLLAR EQUALS SQUARE NUMBER DIGIT RIGHT THREE COLON
    TILDE COMMA CURLY SPACE SMALL SEVEN EIGHT GRAVE LATIN NINE FOUR PLUS FIVE LINE
     LEFT STOP MARK FULL SIGN ZERO TWO ONE LOW SIX AT",w);

  # Since the letters each appear 26 times I construct that part at runtime.
  # The array b will hold the coded combinations of which words need to
  # be printed for each input character.

    x=w[1];
    for(y=w[2];C++<26;x=x"nW],")
        y=y"nj],";

  # The array d is an ASCIICodeFromChar function replacement.
  # I set the field separator to empty, so each character of the input is
  # an input field. That's why using a BEGIN part was mandatory.

    for(split(x y w[3],b,",");j++<126;FS=_)
        d[sprintf("%c",j)]=j
}

  # Here I go through the element of b that matches the input and print
  # the requested words, using the input to produce a capital letter if
  # needed. I excluded these from the word list to save another 26 bytes

{
    for(k=0;k++<NF;print i=_)
        while(i++<split(b[d[$k]-31],q))
            printf(z=w[d[q[i]]-69])" "(z~/TT/?toupper($k):_)
}

5

C ++ 11, 739 bytes

#include<iostream>
#define D,"DIGIT "
#define G" SIGN",
int main(){std::string a=" BRACKET",s="SQUARE"+a,c="CURLY"+a,t="TION MARK",p="PARENTHESIS",l="LEFT ",r="RIGHT ",x="LATIN ",y="L LETTER ",z[]{"SPACE","EXCLAMA"+t,"QUOTA"+t,"NUMBER"G"DOLLAR"G"PERCENT"G"AMPERSAND","APOSTROPHE",l+p,r+p,"ASTERISK","PLUS"G"COMMA","HYPHEN-MINUS","FULL STOP","SOLIDUS"D"ZERO"D"ONE"D"TWO"D"THREE"D"FOUR"D"FIVE"D"SIX"D"SEVEN"D"EIGHT"D"NINE","COLON","SEMICOLON","LESS-THAN"G"EQUALS"G"GREATER-THAN"G"QUES"+t,"COMMERCIAL AT",l+s,"REVERSE SOLIDUS",r+s,"CIRCUMFLEX ACCENT","LOW LINE","GRAVE ACCENT",l+c,"VERTICAL LINE",r+c,"TILDE"};getline(std::cin,s);for(char c:s)std::cout<<(c<65?z[c-32]:c<91?x+"CAPITA"+y+c:(c-=32,c<65?z[c-26]:c<91?x+"SMAL"+y+c:z[c-52]))+"\n";}

Basado en la solución de sweerpotato, pero muy modificado.


Bien hecho: ~)!
sweerpotato

5

C, 644 656

Programa completo, lectura de entrada estándar

Prueba de ideona

Esta es una transferencia de mi respuesta de JavaScript a C. El lenguaje C es bueno para manipular caracteres individuales como números (sin necesidad de .toUpperCasey similares), pero es más débil en la manipulación de cadenas.

char*s,*p,*q,b[999],*d=b+99,c,*l[129];
main(k){for(k=32,p="/SPACE/EXCLAMAaQUOTAaNUMBERbDOLLARbPERCENTbAMPERSAND/APOSTROPHEdcecASTERISK/PLUSbCOMMA/HYPHEN-MINUS/FULL STOP/hiZEROiONEiTWOiTHREEiFOURiFIVEiSIXiSEVENiEIGHTiNINE/gSEMIgLESSnbEQUALSbGREATERnbQUESaCOMMERCIAL ATdkfREVERSE h/ekfCIRCUMFLEXj/LOWmGRAVEjdlfVERTICALmelfTILDE/";
c=*p;p++)c>96?q?(p=q,q=0):(q=p,p=strchr("aTION MARK/b SIGN/cPARENTHESIS/d/LEFT eRIGHT f BRACKET/gCOLON/hSOLIDUSi/DIGIT j ACCENTkSQUARElCURLYm LINE/n-THANz",c)):c-47?*d++=c:(*d++=0,l[k++]=d);
for(;~(k=getchar());puts(k<65?l[k]:(k&31)<27?b:l[k<97?k-26:k-52]))sprintf(b,"LATIN %s LETTER %c",k<91?"CAPITAL":"SMALL",k&95);}

Menos golf

char *all = "/SPACE/EXCLAMAaQUOTAaNUMBERbDOLLARbPERCENTbAMPERSAND/APOSTROPHEdcecASTERISK/PLUSbCOMMA/HYPHEN-MINUS/FULL STOP/hiZEROiONEiTWOiTHREEiFOURiFIVEiSIXiSEVENiEIGHTiNINE/gSEMIgLESSnbEQUALSbGREATERnbQUESaCOMMERCIAL ATdkfREVERSE h/ekfCIRCUMFLEXj/LOWmGRAVEjdlfVERTICALmelfTILDE/";
char *subs = "aTION MARK/b SIGN/cPARENTHESIS/d/LEFT eRIGHT f BRACKET/gCOLON/hSOLIDUSi/DIGIT j ACCENTkSQUARElCURLYm LINE/n-THANz";

main(int k)
{
    char c, *s, *p, *q=0, 
    b[999], // work buffer
    *d = b+99, // first part of buffer is used later
    *l[129]; // characters descriptions (used 32 to 126)

    // Uncompress the descriptions of all char except letters
    for(k = 32, p = all; c = *p; ++p)
    {
       c >= 'a' // substitution word are marked as lowercase letters
        ? q  
           ? (p = q, q = 0)
           : (q = p, p = strchr(subs, c))
        : c != '/'
           ? *d++ = c 
           : (*d++ = 0, l[k++] = d); // end char description
    }
    // Scan the input string and print each char description
    for(; (k=getchar()) != -1; )
    {
       sprintf(b,"LATIN %s LETTER %c", k<91 ? "CAPITAL":"SMALL", k & 95);
       puts( k<65 ? l[k] : k<91 ? b : k<97 ? l[k-26] : k<123 ? b : l[k-52]);
    }
}

4

Lisp común (SBCL), 52 79

(map()(lambda(y)(format t"~:@(~A~)~%"(substitute #\  #\_(char-name y))))(read))

Esto está integrado y depende de la implementación, por lo que es posible que desee ignorarlo al elegir la respuesta aceptada. Esto no es suficiente para vencer a Python , desafortunadamente. La versión actualizada se ajusta a la salida esperada (tengo que reemplazar los guiones bajos por espacios).

Ejemplo

CL-USER> (map()(lambda(y)(format t"~:@(~A~)~%"(substitute #\  #\_(char-name y))))(read))
"(λ(r)(* 2 ᴨ r))"
LEFT PARENTHESIS
GREEK SMALL LETTER LAMDA
LEFT PARENTHESIS
LATIN SMALL LETTER R
RIGHT PARENTHESIS
LEFT PARENTHESIS
ASTERISK
SPACE
DIGIT TWO
SPACE
GREEK LETTER SMALL CAPITAL PI
SPACE
LATIN SMALL LETTER R
RIGHT PARENTHESIS
RIGHT PARENTHESIS


4

C ++ 14, 1043 1000 998 996 972 bytes

Solución grotesca en C ++ 14:

#include<iostream>
#include<map>
#define b cout
#define d string
#define e },{
using namespace std;char l='\n';d s[]{"DIGIT ","LATIN CAPITAL LETTER ","LATIN SMALL LETTER "};map<char, d> m{{' ',"SPACE"e'!',"EXCLAMATION MARK"e'\"',"QUOTATION MARK"e'#',"NUMBER SIGN"e'$',"DOLLAR SIGN"e'%',"PERCENT SIGN"e'&',"AMPERSAND"e'\'',"APOSTROPHE"e'(',"LEFT PARENTHESIS"e')',"RIGHT PARENTHESIS"e'*',"ASTERISK"e'+',"PLUS SIGN"e',',"COMMA"e'-',"HYPHEN-MINUS"e'.',"FULL STOP"e'/',"SOLIDUS"e':',"COLON"e';',"SEMICOLON"e'<',"LESS-THAN SIGN"e'=',"EQUALS SIGN"e'>',"GREATER-THAN SIGN"e'?',"QUESTION MARK"e'@',"COMMERCIAL AT"e'[',"LEFT SQUARE BRACKET"e'\\',"REVERSE SOLIDUS"e']',"RIGHT SQUARE BRACKET"e'^',"CIRCUMFLEX ACCENT"e'_',"LOW LINE"e'`',"GRAVE ACCENT"e'{',"LEFT CURLY BRACKET"e'|',"VERTICAL LINE"e'}',"RIGHT CURLY BRACKET"e'~',"TILDE"}};int main(){d str;getline(cin,str);for(char c:str){islower(c)?b<<s[2]<<(char)(c-32):isupper(c)?b<<s[1]<<c:isdigit(c)?b<<*s<<c:b<<m.at(c);b<<l;}}

Gracias a kirbyfan64sos por jugar dos bytes


¿Se puede hacer en *slugar de s[0]?
kirbyfan64sos

Claro que puede!
Perdí

3

CJam, 517

l{i32-["SPACE""EXCLAMA""TION MARK":T+"QUOTA"T+"NUMBER DOLLAR PERCENT"{S/" SIGN"am*~}:H~"AMPERSAND""APOSTROPHE""LEFT PARENTHESIS":L"RIGHT ":R1$5>+"ASTERISK""PLUS"H"COMMA""HYPHEN-MINUS""FULL STOP""SOLIDUS":D"DIGIT "a"ZERO ONE TWO THREE FOUR FIVE SIX SEVEN EIGHT NINE"S/m*~"COLON""SEMI"1$+"LESS-THAN EQUALS GREATER-THAN"H"QUES"T+"COMMERCIAL AT""CAPITA"{["LATIN "\"L LETTER "]a'[,65>m*~L5<}:Z~"SQUARE BRACKET":Q+"REVERSE "D+RQ+"CIRCUMFLEX ACCENT""LOW LINE""GRAVE"2$A>+"SMAL"Z"CURLY"33$B>+:C+"VERTICAL LINE"RC+"TILDE"]=N}/

Versión en línea

He intentado diferentes soluciones, pero simplemente almacenar todos los nombres en una gran matriz parece más eficiente.

Por cierto, este es mi primer programa real de CJam.


3

C ++ 14 716 706 704

#include<iostream>
char*q,x,b[584],*t=b,a[]=R"(space}exclamation|mark}quot"-number|sign}dolla!apercent!mam"%sand}apostrophe}left|par%3hesis}righ"Wasterisk}plus*<comma}hy)#n{minus}full|stop}solid"Ldigit|zero!Tone!Gtw"kthre#&four!Uiv#&six!Heve>^!_e6r!ani,1colon}semi!Fless{than8Eequal:$grea<s$2quesMj>EJoial|at}lQ9n|capit"?let('|Jes+\re|bracket}r5urse|C5M?%2circumflex|acXR}low|l:bgrave#'0=smaNy0+curly*s/Ytic4z)$/\$itilde)",*s=a;int c,z,l='{';int main(){for(;x=*s++;)if(z=x-32,x>96)*t++=x<l?z:"- "[x%l];else for(c=z*95+*s++-32,q=t-c/13,x=3+c%13;x--;)*t++=*q++;while(std::cin.get(x)){for(s=b,z=0,c=x<65?x-32:x<91?z=33:x<97?x-57:x<l?z=40:x-82;c--;)while(*s++);auto&o=std::cout<<s;(z?o.put(x&~32):o)<<"\n";}}

Versión en vivo .

Con algo de espacio en blanco:

#include <iostream>

// a is compressed using an LZ like compression scheme
char *q, x, b[584],
    *t = b,
    a[] =
        R"(space}exclamation|mark}quot"-number|sign}dolla!apercent!mam"%sand}apostrophe}left|par%3hesis}righ"Wasterisk}plus*<comma}hy)#n{minus}full|stop}solid"Ldigit|zero!Tone!Gtw"kthre#&four!Uiv#&six!Heve>^!_e6r!ani,1colon}semi!Fless{than8Eequal:$grea<s$2quesMj>EJoial|at}lQ9n|capit"?let('|Jes+\re|bracket}r5urse|C5M?%2circumflex|acXR}low|l:bgrave#'0=smaNy0+curly*s/Ytic4z)$/\$itilde)",
    *s = a;

int c, z, l = '{';

int main() {
    // Decompress from a into b
    for (; x = *s++;)
        if (z = x - 32, x > 96)
            *t++ = x < l ? z : "- "[x % l];
        else
            for (c = z * 95 + *s++ - 32, q = t - c / 13, x = 3 + c % 13; x--;) *t++ = *q++;

    // Process input a char at a time, performing a lookup into b for the c'th null separated string
    while (std::cin.get(x)) {
        for (s = b, z = 0,
            c = x < 65 ? x - 32 : x < 91 ? z = 33 : x < 97 ? x - 57 : x < l ? z = 40 : x - 82;
             c--;)
            while (*s++)
                ;
        auto& o = std::cout << s;
        (z ? o.put(x & ~32) : o) << "\n";
    }
}

La cadena comprimida se adescomprime a:

espacio} exclamación | marca} comilla | marca} número | signo} dólar | signo} porcentaje | signo} signo} apóstrofo} izquierda | paréntesis} derecha | paréntesis} asterisco} más | signo} coma} guión} guión {menos} completo | parada} solidus} dígito | cero} dígito | uno} dígito | dos} dígito | tres} dígito | cuatro} dígito | cinco} dígito | seis} dígito | siete} dígito | ocho} ​​dígito | nueve} dos puntos} punto y coma} menos {que | signo} igual | signo} mayor {que | signo} pregunta | marca} comercial | en} latino | mayúscula | letra |} izquierda | cuadrado | corchete} reverso | solidus} derecho | cuadrado | corchete} circunflejo | acento} bajo | línea } grave | acento} latín | pequeño | letra |} izquierda | rizado | corchete} vertical | línea} derecha | rizado | corchete} tilde

Y durante la descompresión }se reemplaza con \0, |con (espacio) y {con -y las letras minúsculas se convierten en mayúsculas.

La cadena está comprimida en estilo LZ como un [a-~]desplazamiento / longitud literal o de dos caracteres codificados para una coincidencia anterior en la cadena.


3

Clojure, 56 bytes

(doseq[c(read-line)](println(Character/getName(int c))))

Inspirado por la respuesta de @peter. Utiliza Clojure para la interoperabilidad de Java.


3

Perl - 894 bytes

Cariñosamente hecho a mano. Golf por primera vez en Perl, por lo que cualquier consejo es apreciado.

$_=$ARGV[0];s/(.)/$1\n/g;s/([A-Z])/& CAPITAL' $1/g;s/([a-z])/& SMALL' \U$1/g;s/,/COMMA/g;s/& /LATIN /g;s/' / LETT, /g;s/&/AMP,SAND/g;s/'/APOSTROPHE/g;s/ \n/SPACE\n/g;s/\*/AST,ISK/g;s/-/HYPHEN-MINUS/g;s/\./FULL STOP/g;s/@/COMM,CIAL AT/g;s/~/TILDE/g;s/:/&/g;s/;/SEMI&/g;s/&/COLON/g;s/\|/V,TICAL&/g;s/_/LOW&/g;s/&/ LINE/g;s/\^/CIRCUMFLEX&/g;s/`/GRAVE&/g;s/&/ ACCENT/g;s/\//&/g;s/\\/REV,SE &/g;s/&/SOLIDUS/g;s/!/!&/g;s/"/"&/g;s/\?/?&/g;s/!/EXCLAMA/g;s/"/QUOTA/g;s/\?/QUES/g;s/&/TION MARK/g;s/#/NUMB,&/g;s/\$/DOLLAR&/g;s/%/P,CENT&/g;s/\+/PLUS&/g;s/</LESS-THAN&/g;s/=/EQUALS&/g;s/>/GREAT,-THAN&/g;s/&/ SIGN/g;s/\(/<&/g;s/\)/>&/g;s/&/ PARENTHESIS/g;s/\[/<&/g;s/\]/>&/g;s/&/ SQUARE'/g;s/{/<&/g;s/}/>&/g;s/&/ CURLY'/g;s/'/ BRACKET/g;s/</LEFT/g;s/>/RIGHT/g;s/0/&Z,O/g;s/1/&ONE/g;s/2/&TWO/g;s/3/&THREE/g;s/4/&FOUR/g;s/5/&FIVE/g;s/6/&SIX/g;s/7/&SEVEN/g;s/8/&EIGHT/g;s/9/&NINE/g;s/&/DIGIT /g;s/,/ER/g;print;

1

Factor, 58 bytes

[ readln [ char>name "-"" " replace >upper print ] each ] 

Bastante simple; hace exactamente lo mismo que las respuestas de Java y Perl 6.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.