拡張ASCII値を入力してください。

拡張ASCII値を入力してください。

こんにちは、私はこれについて精神を失っています。端末から直接入力としていくつかの文字列を取得し、文字列に入力された各バイトのascii値を印刷するcで書かれたプログラムがあります。入力拡張子asciiを試してみてください。値(127より大きい値)を使用しましたが、そうしませんでした。特にASCII値を入力する必要があります。137文字列として入力 - >その値を持つ文字を入力して、ほぼすべてを試しました。

  • キーを作成して次のように入力します。e+"
  • Unicode値ctrl++の後にASCIIコードの16進値が続きます。これはUnicodeとして入力されるため、値shift137uには1バイトではなく2バイトが必要です。
  • ctrl+ d- 拡張ASCII値はサポートされていません。

とにかく、この問題を解決する方法を知っている人がいれば役に立ちます。

ベストアンサー1

使用できるluit、これによりcp850アプリケーションを実行できます(ロケールUTF-8ターミナルでそれを見つけてluitUTF-8に変換したり、UTF-8で変換したりできます。

それだけの価値があるだけに、スクリーンショットLuitを含むcp850:

ここに画像の説明を入力してください。

スクリーンショットは、各ロケールエンコーディングのテスト画面を表示するスクリプトセットに設定されます。すべてのエンコーディングが対応するロケール情報で構成されるわけではありません。 761ロケール私のDebian 7システムにはlocale -a32のエンコーディングのみがリストされています。

  ANSI_X3.4-1968      EUC-TW              ISO-8859-14         ISO-8859-9
  ARMSCII-8           GB18030             ISO-8859-15         KOI8-R
  BIG5                GB2312              ISO-8859-2          KOI8-T
  BIG5-HKSCS          GBK                 ISO-8859-3          KOI8-U
  CP1251              GEORGIAN-PS         ISO-8859-5          RK1048
  CP1255              ISO-8859-1          ISO-8859-6          TCVN5712-1
  EUC-JP              ISO-8859-10         ISO-8859-7          TIS-620
  EUC-KR              ISO-8859-13         ISO-8859-8          UTF-8

最新バージョンのluit(例:2013年2.0)があり、ロケール情報がインストールされている場合は、実行するのは簡単です。

luit -encoding cp850

アプリケーションはコードページ850を使用するシェルを実行しますが、選択/貼り付け(およびキーボード)はシェルからロケールエンコーディングに変換されます(POSIXでのみ機能しないためUTF-8と仮定)言語環境。

これ-v(verbose) オプションはいくつかの詳細を表示します。

$ luit -encoding cp850 -v -v
getCharsetByName(ASCII)
cachedCharset 'ASCII'
getCharsetByName(<null>)
using unknown 94-charset
getCharsetByName(CP 850)
cachedCharset 'CP 850'
getCharsetByName(<null>)
using unknown 94-charset
Input: G0 is ASCII, G1 is Unknown (94), G2 is CP 850, G3 is Unknown (94).
GL is G0, GR is G2.
Output: G0 is ASCII, G1 is Unknown (94), G2 is CP 850, G3 is Unknown (94).
GL is G0, GR is G2.

以前のluitを使用すると、不完全なロケール情報に依存するため、正しく機能しません。 Luit 1.1.1の機能は次のとおりです。

$ luit -encoding cp850 -v -v
Warning: couldn't find charset data for locale cp850; using ISO 8859-1.
G0 is ASCII, G1 is Unknown (94), G2 is ISO 8859-1, G3 is Unknown (94).
GL is G0, GR is G2.

OpenSuSEを実行している場合は、パッケージが提供されます。他の極端(Ubuntuなど)では、ロケールを設定するのは面倒ですが、luitソースでコンパイルするのは比較的簡単です。

おすすめ記事