¿Cómo puedo mostrar los códigos de caracteres ASCII extendido en Perl?
-
04-10-2019 - |
Pregunta
Cómo visualizar 192 caracteres de símbolos (+) en Perl?
Solución
Lo que se quiere es ser capaz de imprimir Unicode, y la respuesta se encuentra en perldoc perluniintro
.
Puede utilizar \x{nnnn}
donde n es el identificador hexadecimal, o puede hacerlo \N{...}
con el nombre:
perl -E 'say "\x{2514}"; use charnames; say "\N{BOX DRAWINGS LIGHT UP AND RIGHT}"'
Otros consejos
Para utilizar estos códigos exactamente su terminal debe soportar página de códigos 437 , que contiene marcos. Alternativamente, puede utilizar derivados CP850 caracteres con menos de boxeo.
Tales caracteres de boxeo también existen como Unicode elementos de bloque . El carbón que desea en Perl se observa como \N{U+2514}
. Más detalles en perlunicode
que se parece a la página de códigos 437 de codificación. Perl es probable que sólo dando salida a bytes que le des. Y su terminal es, probablemente, a la espera UTF8.
Así que hay que descifrar a Unicode, a continuación, volver a codificar en UTF-8.
EDIT:. Codificación correcta ??p>
Como de costumbre, Jon Skeet lo clava: 192
el código se encuentra en el " extendido ASCII " rango. Le sugiero que siga los consejos de @Douglas Leeder , pero no estoy seguro de qué codificación www.LookupTables.com te da; ISO-8859-1
piensa 192 mapas a "A", y Mac OS Roman
piensa que es "¿".