こんにちはみんな!
非常にあいまいな質問のように聞こえますが、関連性があると思います。まず、いくつかの用語を定義しましょう。
バイナリ
この質問で意味するのは、コンピュータ自体で見られる文字通りの1と0、つまり電気スイッチを開閉することです。 2進数を表現する方法にはいくつかありますが、ここでは1と0を参照しています。決してLinux実行可能ファイルを意味するわけではありませんが、私が理解しているように、Linux実行可能ファイルは実際にはバイナリファイルです。単にcat
それを使用すると、他の出力「形式」が得られることになります。繰り返しますが、01010101
。
ビット、バイト、文字
私がこのようなことを言うのを見たら、私の専門性の欠如を許してください。標準のASCII文字は8
ビットまたはバイトであることを知っていますが、時にはビット1
に合うことがあります。また、UTF-8文字の範囲は、ビットからビット、バイトからバイトまでさまざまで7
あることがわかりました。これが基本的にキャラクターの私の理解です。この名前を変えて使用しても構いません。これがこの分野に対する私の理解の限界であることを理解してください。また、文字を8ビットと呼ぶことは、上記の他のすべての真のパラメータと一緒に32ビットであり得ることを理解するという意味です。8
32
1
4
「コンピュータ」
後で「コンピュータ」という言葉に言及します。私が本当に意味するのは、CPUと出力を取得して取得する他のすべてです。私はコンピュータに何百万もの部品がある可能性があり、電源装置は以下のデータとは無関係であることを知っています。しかし、私が「コンピュータ」と言うとき、実際に言うのはCPUとその会社です。
質問
今質問が解決したので、最初に答えをしたいと思います。
stdout
元のバイナリに同等のものはありますか?
たとえば、文字「A」をバイナリに変更すると、コンピュータがそれを見る01000001
と「A」が表示されると仮定します。完全なアルファベット、10個の数字、およびバイナリ表現を含む多数の文字があります。これは実際に約81s
と0s
。
今、私はバイナリファイルが実際に「コンピュータ」のための一連の命令であることを知っています。私はこれを10歳の時に悟りました。私が知りたいのは、これらのガイドラインをどのように表現するかです。それをインポート01000001
して変換すると「A」になります。それでは、「stdout」のバイナリファイルは何ですか?
編集:私の考えでこれを表現する良い方法は、「コンピュータにxxx(例01000001
:)を出力するように指示する1と0の組み合わせは何ですか?」です。
正直なところ、私が言葉になるのか、あまりにも多く考えているのかよくわかりません。バイナリがコンピュータ言語であることについて話すのは愚かなことのように感じますが…。その考えを震えることはできません。
とにかく私のストレス解消に役立つことができる方なら誰でも歓迎します。よろしくお願いします!
答え1
2進数、16進数、ASCII、さらにはUTF16およびEBCDICもすべて状態を表します。 10進数65(2進数01000001)を書くと標準出力これはそれを表示する唯一のルールですA
。視覚的な表現が便利です。ディスクのどこにも保存されているものが見つかりませんA
。実装に適した方法で保存されるため、バイナリ表現が見つからない可能性があります。
cat /bin/ls > /tmp/myls
chmod a+x /tmp/myls
/tmp/myls
私はこれが/bin/ls
バイナリであり、cat
上記のコマンドが次のようになることに同意すると思います。標準出力。生成されたファイルは/tmp/myls
完全に交換できますls
。標準出力実際にはバイナリです。