Perlで192文字の記号(└)を表示するにはどうすればよいですか?
5 に答える
あなたが望むのは、ユニコードを出力できるようにすることであり、答えはperldoc perluniintro
.
\x{nnnn}
n は 16 進数の識別子を使用するか、次\N{...}
の名前を使用できます。
perl -E 'say "\x{2514}"; use charnames; say "\N{BOX DRAWINGS LIGHT UP AND RIGHT}"'
これらのコードを正確に使用するには、端末がフレームを含むCode Page 437をサポートしている必要があります。または、派生したCP850を使用して、ボクシング文字を少なくすることもできます。このようなボクシング文字は、Unicode ブロック要素としても存在します。perl で必要な char は として示され\N{U+2514}
ます。詳細はperlunicodeで
これは、コード ページ 437 エンコーディングのように見えます。Perl はおそらく、与えられたバイトを出力しているだけです。そして、あなたの端末はおそらくUTF8を期待しています。
したがって、Unicode にデコードしてから、UTF-8 に再エンコードする必要があります。
編集:正しいエンコーディング。
いつものように、Jon Skeet はそれを釘付けにしています:192
コードは「拡張 ASCII」の範囲にあります。@Douglas Leeder のアドバイスに従うことをお勧めしますが、www.LookupTables.com がどのエンコーディングを提供しているかはわかりません。ISO-8859-1
は 192 が "À" にマップするとMac OS Roman
考え、その "¿" を考えます。