質問

多くの言語には、バイナリではなく、「平文」のみを処理する関数があります。これは、ASCII範囲内の文字のみが許可されることを意味しますか?

バイナリは単なる一連のバイトですが、単なる一連のバイトが文字として解釈されるプレーンテキストに似ているのではありませんか?それでは、プレーンテキストはバイナリと同じデータ形式/プロトコルを保存できますか?

役に立ちましたか?

解決

多くの場合、言語は、値10や13などの証明書制御文字を論理的な行末記号として自由に解釈できることを意味します。言い換えれば、出力操作はこれらの文字を自動的に末尾に追加し、入力操作はそれらを入力から削除します(および/またはそこで読み取りを終了します)。

対照的に、「バイナリ」での作業をアドバタイズする言語I / O操作は、データには通常、処理するデータの長さの入力パラメーターが含まれます。これは、いつ終了するかを知る他の方法(ファイルの終わりを過ぎて読み取るのではない)がないためです。

他のヒント

プレーンテキストは人間が読める形式であり、バイナリファイルは印刷可能な文字と印刷できない文字で構成されているため、通常は人間が読むことはできません。

テキストエディター(メモ帳やvimなど)でjpegファイルを開いてみてください。意味がわかります。

バイナリファイルは、解析が必要ないため、通常、速度を最適化する方法で構築されます。 プレーンテキストファイルは手動で編集できますが、バイナリファイルは編集できません。

"プレーンテキスト"いくつかの意味を持つことができます。

このコンテキストで最も役立つのは、特定のコンピューターシステムが「テキスト」と見なすものの有限セットに変換できるバイトシーケンスで編成された単なるバイナリファイルであることです。文字。

2番目の意味は、多少関連していますが、システムがこれらの「テキスト文字」を表示するという制限です。認識可能なアルファベットのメンバーとして人間が読める記号として。多くの場合、書かれていない意味は、変換メカニズムがASCIIであることです。

3番目の、さらに制限的な意味は、このシステムが「シンプル」でなければならないということです。テキストエディタ/ビューア。通常、ASCIIエンコーディングを意味します。しかし、実際には、ファンキーな形式でエンコードされ、独自のプログラムで表示されるテキストを読む人間と、ASCIIエンコードされたファイルを読むVIテキストエディターには、ほとんど違いがありません。

プログラミングコンテキスト内では、プログラミング環境(OS +システムAPI +言語機能で構成されています)は、「テキスト」のセットと文字、およびこれらの「テキスト」に変換するために読み取ることができるエンコードのセット。文字。これは必ずしもASCII、英語、または8ビットを意味するわけではないことに注意してください-例として、Perlは「文字」の完全なUnicodeセットをネイティブに読み取って使用できます。

特定の質問に答えるには、「文字」を間違いなく使用できます。任意のバイトシーケンスを送信する文字列。文字列の終了規則を適用する必要があるという注意事項があります。 問題は、「文字データを処理する」ためにすでに存在する関数が、おそらく、バイナリデータを処理するための便利な機能はないでしょう。

通常、言語/環境/機能に依存します。

バイナリデータは常にバイナリです。変更なしで転送されます。

"プレーンテキスト"モードは、次の1つ以上を意味する場合があります。

  • バイトストリームは行に分割されます。行区切り文字は、\ r、\ n、または\ r \ n、または\ n \ rです。 OSに依存する場合もあります(* nixは\ nが好きですが、Windowsは\ r \ nが好きです)。行末は、読書アプリケーションに合わせて調整できます
  • 文字エンコードが調整される場合があります。環境は、ソースエンコーディングを検出および/またはアプリケーションが期待するエンコーディングに変換する可能性があります
  • おそらく他のいくつかの変換をこのリストに追加する必要がありますが、現時点ではこれ以上考えることはできません

技術的には何もありません。プレーンテキストはバイナリデータの形式です。ただし、大きな違いは値の保存方法です。整数がどのように保存されるか考えてください。バイナリデータでは、2の補数形式を使用し、おそらく32ビットのスペースを使用します。テキスト形式では、代わりに一連のUnicode数字として数値が保存されます。したがって、数値50はバイナリでは0x32(32ビットを占めるようにパディング)として格納されますが、プレーンテキストでは「5」「0」として格納されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top