¿Cómo puedo visualizar caracteres de códigos ASCII extendidos en Perl?
Cómo visualizar 192 caracteres de símbolos (└) en Perl?
¿Cómo puedo visualizar caracteres de códigos ASCII extendidos en Perl?
Cómo visualizar 192 caracteres de símbolos (└) en Perl?
Lo que quiere es poder imprimir unicode, y la respuesta está 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}"'
que se parece a la codificación de la página de códigos 437. Es probable que Perl solo genere bytes que usted le da. Y su terminal probablemente esté esperando UTF8.
Por lo tanto, debe decodificarlo en Unicode y luego volver a codificarlo en UTF-8.
EDITAR: Corregir la codificación.
O bien, cambie la configuración de su terminal. :) –
No, es IBM437. Ver [IANA] (http://www.iana.org/assignments/character-sets), [RFC 1345] (http://datatracker.ietf.org/doc/rfc1345/), [en.Wikipedia] (http : //en.wikipedia.org/wiki/IBM437). – daxim
Para usar exactamente estos códigos, su terminal debe admitir Code Page 437, que contiene marcos. Alternativamente, puede utilizar el derivado CP850 con menos caracteres de boxeo. Tales personajes de boxeo también existen como Unicode Block Elements. El carácter que desea en perl se indica como \N{U+2514}
. Más detalles en perlunicode
'" \ x {2514} "' lo hace, también. Esta sintaxis se explica en [perlop] (http://p3rl.org/op#Quote-and-Quote-like-Operators). – daxim
Como es habitual, Jon Skeet lo clava: el código 192
está en el rango "extended ASCII". Sugiero que siga @Douglas Leeder's advice, pero no estoy seguro de qué codificación le está dando www.LookupTables.com; ISO-8859-1
piensa 192 mapas a "À", y Mac OS Roman
piensa que es "¿".
"ASCII extendido" es una familia de codificaciones. El que está en la pregunta es IBM437. Ver [IANA] (http://www.iana.org/assignments/character-sets), [RFC 1345] (http://datatracker.ietf.org/doc/rfc1345/), [en.Wikipedia] (http : //en.wikipedia.org/wiki/IBM437). – daxim
192 no es realmente ASCII. El conjunto ASCII termina en 128 (o 127, dependiendo de qué incluye exactamente). –
¿cuál es el título perfecto para esta pregunta? – Tree
Si desea imprimir el personaje con un valor de 192, debe indicarnos qué codificación de caracteres está utilizando. No es ASCII, ya que ASCII solo define 128 caracteres. ¿Estás usando uno de los juegos de caracteres extendidos? Quizás cp1252 o ISO-8859? –