Come posso Extended Display codici ASCII caratteri in Perl?
-
04-10-2019 - |
Domanda
Come visualizzare 192 personaggio simbolo (+) in Perl?
Soluzione
Quello che vogliamo è essere in grado di stampare unicode, e la risposta è in perldoc perluniintro
.
È possibile utilizzare \x{nnnn}
dove n è l'identificatore esadecimale, o si può fare \N{...}
con il nome:
perl -E 'say "\x{2514}"; use charnames; say "\N{BOX DRAWINGS LIGHT UP AND RIGHT}"'
Altri suggerimenti
Per usare questi codici esattamente il terminale deve supportare Code Page 437 , che contiene frame. In alternativa si può utilizzare derivati ?? CP850 caratteri con meno di pugilato.
Tali caratteri boxe esistono anche come Blocco Unicode Elementi . Il carattere che si desidera in Perl è notato come \N{U+2514}
. Maggiori dettagli in perlunicode
che sembra la pagina di codice 437 codifica. Perl è probabilmente solo l'output byte che si dà. E il vostro terminale è probabilmente in attesa UTF8.
Quindi è necessario decodificare in Unicode, poi ri-codificare in UTF-8.
EDIT:. Codifica corretta ??p>
Come al solito, Jon Skeet unghie: il codice di 192
è nel " esteso ASCII " gamma. Vi consiglio di seguire il consiglio di @Douglas Leeder , ma non sono sicuro che codifica www.LookupTables.com sta dando voi; ISO-8859-1
pensa 192 mappe per "A", e pensa che la sua Mac OS Roman
"¿".