• ベストアンサー

command.comとASCIIコードについて

blueskyの回答

  • bluesky
  • ベストアンサー率33% (3/9)
回答No.1

えーと MS-DOSに関してでしたら > 「え・い・う」と間違えて入力してしまった場合、command.com にはENTERが > 押された時点で「a4・a2・a3」という命令がされることになるのですか? そのとおりです。 > その後で、「a1・a2・a3」に直したいとき「BS」で戻るというのは > 「BS」の「b1」というコードが「a4・a2・a3・b1」と入るわけではなく > 直接command.comの入力用バッファが 「a4・a2」となってしまう > ということになるのでしょうか? 後者の「a4・a2」が正解です。 > それに対して「 ←」キーは異なる動作をするということなのですか? > それとも、もともと「b2」というコードはなくて「 ←」と > 入力されたときは「BS」と入力されたものと同じ処理をするということに > なるのでしょうか? これについてはPC-98シリーズMS-DOSに限って言えば BSキーと←キーのキーコードは同一 したがって同一の動作をします DOS/VのMS-DOSやWin95のプロンプトではどうだったかは・・・

masahiro_chi
質問者

お礼

御回答ありがとうございます。 質問事項が抜けていたのですね。 その通りMS-DOSに関しての質問でした。 申し訳ありません。 >後者の「a4・a2」が正解です。 > とのことなのですが、一度は「b1」をcommand.comが認識して 「a3」を消すことになるのでしょうか? それとも何か他に制御しているものがあるということなのでしょうか? もしお分かりでしたら教えていただけないでしょうか。 宜しくお願いいたします。

関連するQ&A

  • EmacsにおけるキーとASCIIコードの対応

    こんにちは。 Emacsは、Gnu Emacs for Windows 23.4 を使っています。 Emacsでは、ASCII文字は、0~127のASCIIコードで表されます。 例えば、文字Aは、ASCIIコード65で表されます。 現在、非印刷文字を表すASCIIコードに対応するキーが分からず困っています。 例えば、C-@はASCIIコード0, C-aはASCIIコード1, C-bはASCIIコード2, .....RETはASCIIコード13, TabはASCIIコード9, ESCはASCIIコード27といったことは分かっているのですが、他のASCIIコード(例えば17~26など)に対応するキーが分かりません。 非印刷文字を表すASCIIコードに対応するキーを調べる方法はあるのでしょうか? 何かいい方法を知っておられる方がいらっしゃれば、是非アドバイスを頂きたいと思います。 では、よろしくお願い致します。

  • command.comの内部動作(エディットバッファ等)と画面表示の問題について

    昨日、MS-DOSについて質問させていただいたものです。 私が質問の内容を把握していなかったために皆様に多くの御手数をおかけしましたことをお許し下さい。 昨皆様からのご回答を頂く中で私が聞きたいのはどうやらcommand.comの内部動作(エディットバッファ等)と画面表示上の問題についてということが分かりました。昨日は分かったつもりだったのですが、一晩考えたところ、よく分からない点がありまして出来ればそちらにもご回答いただきたく質問させていただけないでしょうか。どうかよろしくお願いします。質問項目は以下の通りです。 1.command.comは現在入力中の文字列のバッファを   持たないということなのですがなぜ画面表示が出来て、   しかも入力中の文字列を[ENTER]を押せば解析し   実行できるのに、バッファはしていないということになるのですか?   (直前の[ENTER]キーを押されて実行した文字列を    バッファしているということは分かりました。) 2.また、編集するには入力中の文字列バッファを持って、   現在のカーソルの位置を覚えておくという処理が必要ということも   分かったのですが、そうするとDOSKEYと入力することで   そういったバッファ領域やカーソル位置を認識する領域を初めて   確保するということになるのでしょうか?   DOSKEYの内部動作っていうのでしょうか?   出来ればそういったものを詳しく教えていただけないでしょうか。 3.それらと画面表示はまったく別物なのでしょうか? 自分がよく分かっていないので質問が的を得ていないかもしれませんが どの問いに対してでも結構です。どうかご回答のほどよろしくお願いいたします。

  • UTF-8とASCIIコードにおける互換性について

    UTF-8とASCIIはそのASCIIコードの範囲のおいて 互換性を持ちます。(と、書籍や多種な文献にはそういった記述があります) たとえば【A】という文字をUTF-8で符号化した際は【41】(16進数で) さらにASCIIコードでも【41】という値がAという文字に割り当てられています。 確かに、一件互換しているようにみえますが、UTF-8っていうことは最終的には Unicode上のコードポイントの値・・・つまり0x0041という値に復元?(というのでしょうか)するわけですよね? でそのUnicodeの文字集合上から復元したコードポイントに対応する文字を参照しAという文字をみつけてくると・・・。 これって【A】という文字をUTF-8で符号化した歳のバイト列はASCIIと一致しているけれど 結局Unicodeコードポイントに直した場合【00】という上位バイトが無駄にくっついてきて【0x0041】となり 互換性がなくなるのではとおもったのですが・・・。 これはどういう意味の互換性なのでしょうか? 識者の方ご教授ください。 お願い致します。

  • CRC(チェックサム)のASCIIコードについて

    現在装置を外部PCから操作させる設定の一覧を作成しています。 メーカーからの指定は、設定したい数値を(16進数) 40 NN NN NN CRC  をASCIIコードで入力するように指定されています。 例えば、50に設定したい場合は @050* (40 30 35 30 2A) と入力します。 ここで、CRCがASCIIの制御文字(00~1F)に該当してしまう場合、どのように CRCを設定するか分からずにいます。 このような場合は、どのような設定をするものなのでしょうか?

  • command.com上でのcmdの呼び出し

    質問です。 WindowsのDOS窓は基本的にwin上で走るエミュレータだと聞いたのですが、16bitエミュレータのcommand.com上でcmd.exeが呼び出せるのは、どういう仕組みになっているのでしょうか。 ただ、16bitエミュレータ上で32bitのエミュレータを起動したと考えれば良いとは思うのですが、心なしかcommand.com単体のときよりもcommand.com上で呼び出したcmd.exeのほうが、キー入力のエコーバックも早い用に感じます。 ネットで調べてみると、呼び出すたびに切り替えているのではという意見もありましたが、XP上で開いたcommand.comからcmd.exeを呼び出した状態でNASMでアセンブルした16bitのcomファイルが実行できるので、ただ切り替えているだけではないのではないかと疑問が消えません。 また、スタートメニューでファイル名を指定して実行するときに、16bitのcomファイルを指定すると、基本的にはcmdが立ち上がって実行され、プロンプト以外画面には何も表示されないで実行終了となるのですが、2割ほどの確率でcommand.comが立ち上がり、きちんと実行されることがあり余計に混乱しています。 どなたか詳しい方がいらっしゃったら、ご解説を宜しく御願い致します。

  • バーコードリーダー だけで Enterキーを押すことはできますか?

    バーコードリーダー だけで Enterキーを押すことはできますか? 今バーコード入力後 Tabキーが自動入力されるのですが 数個Tab付きバーコード読み取り後 最後にEnterのみを入力したいのですが Enter のみのバーコードってつくれるのでしょうか??

  • カシオのポケコン プログラム作成について

    先ほど同じ質問をしたのですが、質問の仕方が悪く意図した回答が得られなかったので、 再度質問します。 カシオのポケコン(Z-1GR)のBASICでプログラムを作成する際に Enterキーを押した場合と数値を入力した場合で分岐させたいのですが、やり方がわかりません。 例えば Aを入力、Bを入力すると、C=A+BでCの答えを表示させる。 ただし、Bの入力時に何も入力しないで、そのままEnterキーを押すと、C=0と表示させる と言った感じです 10 INPUT"A=",A 20 INPUT"B=",B 30 IF B="" THEN GOTO 40 ELSE GOTO 50 40 PRINT"C=0":GOTO 20 50 C=A+B 60 PRINT"C=";C:GOTO 20 上のライン30の指示がうまく実行しません。 「B="" THEN GOTO 40」の部分だと思うのですが この部分 (そのままEnterキーを押すとライン40に進む)をどのようにすればよいか 教えてください。 どなたかわかる方いらっしゃいませんか?

  • ASCIIコードへの変換方法

    ポインタに文字列を格納し char *a="a"; char *b="ace"; このポインタの中身をASCIIコードで表示させるプログラム ポインタaの中身aはASCIIコード8進数で001です。 ポインタbの中身aceはASCIIコード8進数で001003005です。 という感じのプログラムを作りたいのですが ASCIIへの変換方法がわからなく困っています。 もしよろしかったら具体例等のプログラムのご教授願います。

  • ダメだ・・・分からない。while文 無限ループ&’\n’エンター後無限ループ脱出

    忙しい中失礼します。 C言語超初心者のものです。while文での表示について質問があります。 下記の’プログラム内容’はEnterキーが押されるまで、 ’k’入力後 → Enterキー → ASCII value of k is 107.  ’t’入力後 → Enterキー → ASCII value of t is 116. ・・・ のように継続させ、 何もアルファベットを記入せず、’Enterキー’のみを押した場合はループから抜け、DOS画面を終了するようにしたいのですが、それが出来ません・・・。 ’k’入力後Enterキーを押すと、’Enter a character:’の表示がなされた後、’Press any key to continue・・・’となり画面を閉じなければいけなくなります。 while文の中の()内を何とかすれば、思い通りのプログラムになる、とは思うのですが、それが考え付きません。 申し訳ありませんが、よろしければそのヒントを下さい。多分すごく簡単なことだとは思うのですが、それが出来ません。 ※私個人の考えとしては、while文の中の(scanf("%c", &ch)&&(ch!='\n'))において、’&&(ch!='\n')’をプログラム文からなくせば、Enterキーを押さない限り(’k’入力後のEnterキー除く)、何度もパソコン側から尋ねられると思ったのですが・・・。・・・うまくいかず。 プログラミング内容: #include <stdio.h> #include <stdlib.h> int main() { char ch; printf("Enter a character:\n"); while(scanf("%c", &ch)&&(ch!='\n')) { printf("ASCII value of %c is %d.\n\n", ch, ch); printf("Enter a character:\n"); } system("PAUSE"); return 0; }

  • Excel でASCII文字列を16進コードへ変換

    Excel でA1セルに、 A1セル:”1234” という半角英字の文字列が入力されています。 これをすべてASCIIコードへ変換したいのですが、 何か方法はありますでしょうか? 結果は、 A2セル:”49505152” となることを想定しています。 私なりに調べたのですが、 =CODE(MID(A1,1,1)) & CODE(MID(A1,2,1)) & CODE(MID(A1,3,1)) & CODE(MID(A1,4,1)) なら、期待した結果になっておりましたが、 文字数が多い場合にかなり不効率でした。 他の方法をご教授ください。