いている方もいるかもしれません使用人間が読める形式のファイルのフォーマットは何ですか?

StackOverflow https://stackoverflow.com/questions/568671

質問

いている方もいるかもしれません使用人間が読める形式のファイルフォーマットに優先的にバイナリー。ある状況の時こうではない。

編集:ってことしての説明が当初投稿という問いを持って、あんまり関係現

に応答する時 この質問 たいと思ったのasker標準で回答理由は、人間が読める形式のファイルの形式は以下の通りです良い方法がありました。そして私は一つなのです。この質問

役に立ちましたか?

解決

もよります

右の答えはその時々ですね。を書いていてオーディオ/ビデオデータ例えばcrowbarで人間が読める形式ではな読み!や単語の書類は、典型的な例としては、人々が思った人間が読める形式で、より柔軟な移動することにより、XML MSくすることができてうれしいです。

よりも、遥かに重要なバイナリーまたはテキストの標準的な標準です。ご利用の場合は標準フォーマットの、そのチャンスだと次男になっていくのパーサは、この勝利です。

その後も極性の理由するための選択の場合のが好きな自分のフォーマット(およびパーサ).

を利用する理由人間が読?

  1. 次男.の維持の開発を見てからコードを30年後半からです。知性も行動力も兼ね備えた梨男のソースコード。ありその文書のコメントです。そっくん.てることだったが、レスキューもしくは変換し、極めて貴重なデータのままのためにも何かできるものとする。
  2. 私の読み書きで、自分のツール.について知っておきましょるemacsユーザーが使用できます。またはVim、またはメモ帳や...でもまた素晴らしいツールや図書館かないので私のプラットフォーム、またはのものです。また、その新しいデータを私のツールです。
  3. この税はそんなに大きな収納が無料.ほとんどがディスクスペースは無料です。がんではないでしょう。んの少し角度ブラケットまたはカンマは、通常ではない。早期の最適化をしています。やまっっ利用の標準圧縮ツール、そして人間が読める形式で誰でも走行可能解凍.
  4. この税はそんなに大きなコンピューターで速い.ですが、より迅速にバイナリ解析.までを追加する必要があります追加カラム、またはデータタイプ、またはサポート両方の新旧のファイルです。(この緩和と プロトコルのバッファー)
  5. が良い形式が.まったくありませんのような形式をサポートしています。います。またはJSON.います。ます。も形式をサポートしています。多くのツールが存在する構文解析され、既に多くの言語に対応しています。なんといっても一番の5分を書き上げが神秘的にすべてのソースコードを取得します。
  6. 負荷が楽になる.チェックイン時におバージョン管理することがどうしても必要であるが、何が変わりました。す。やます。バイナリーですから何か変化が信頼へのコメントにおいてどのようにお考えですか。
  7. 合併しやすくなったり.も質問をwebどの追加につPDFます。そのようなことはなととします。
  8. 修理しやすい場合が破損し.みや修理、腐敗したテキストドキュメントvsきzipアーカイブを展開します。十分に言いました。
  9. 全ての言語(およびプラットフォーム)で読み込みまたは書き込みで.もちろん、バイナリのネイティブ言語用コンピュータについては言語支援のバイナリーです。がたくさんの少しクラシックツールスクリプト言語でより良いテキストデータです。思いつかないの言語やバイナリではなく、あくまでテキスト(アセンブラもだけでなく、それが逆になっているのです。それは、プログラムと交流できるその他のプログラムだと考えたこともあり、書いた30年前ます。のには理由がありますUnixに成功しました。

なぜな利用のバイナリょうか?

  1. "といった多くのデータ -テラバイトも参考になり嬉しいです。その要因の2つのか。が早期の最適化はまだのよう。どの利用について人間一、現在に変換します。んか。
  2. 貯蔵が無料ですが、帯域幅な (Jon Skeetにコメント).い捨てファイルにネットワークをサイズします。もの帯域からディスクへの対応ができる制限要因になります。
  3. 本当の性能の集中コード.バイナリーで真剣に最適化された.には理由があデータベースな独自のテキスト形式です。
  4. バイナリ形式が標準.使いようであるパプアニューギニアのMP3またはMPEG.では、次男の仕事しやすく少なくとも次の10年間)。
  5. 多くのバイナリ形式が.一部のグローバル標準タイプのデータです。又はその恐れのある標準ハードウェアデバイス一部の標準直列化の枠組みすばらしい実例とは Googleのプロトコルのバッファー.別の例: Bencode
  6. や組み込みバイナリー.一部のデータが既にバイナリおよび必要な組み込みます。この作品に自然にバイナリファイル形式で、醜いとは非常に非効率的な人間が読めるものであり、さらに通常停止している人間が読める形式.
  7. 審議育.時にいかに行うデータはしています。暗号化により事故によりセキュリティ掛だ暗号化まってみるべきではないだろうかでは、バイナリーを行います。

  1. やの解析.人を主張しているテキストおよびバイナリーしやすい構文解析.現在明らかに、最も簡単なる構文解析時に語学や図書館の支援を解析し、これは一部のバイナリおよび一部の人間が読める形式、いかなり支持します。バイナリ形式で明確に選ばれいやすい構文解析ができない人間が読める形式(CSVまたは固定幅)と思うこの点は議論の余地がある問題.一部のバイナリ形式にするだけ捨てのメモリとして使用することも言える最も簡単なる構文解析、特に多数の場合はずの文字列が関わります。しかしいと思う人が多い人間が読める形式の構文解析やデバッグとしての方が作りやすいという理由で何が起こっているのかを、デバッガ(若干).
  2. 管理が容易.ありが人mangleテキストデータエディタ、またはづきUnicode形式の作品がもっとも処理しません。バイナリデータは以下となる可能性が高い。しかし、ハードウェアでmangleバイナリデータです。できる(き)を指定テキストエンコーディングのための人間が読める形式のデータは柔軟性又は固定です。

末日のように思うことができるか本当に権利ます。

ご確認くださいましたいファイルとは何ですか?ているデータベース?:-)

単位

この答えは、統合にとも他人の書いたもののその他の回答に見ることができあり)。特に大きなコンSkeetメント(ここで、オフライン)を示唆する方法で改善します。

他のヒント

すべての状況です。

特典の、人間が読める形式のフォーマット:

  • を読むだけではなく、"ネイティブ"のフォーマット
  • できると言われている、などユニット試験についても、その容姿によっては、そのために

因の特典バイナリ形式:

  • やの解析(コード)
  • より迅速に構文解析
  • より効率的なスペース
  • 管理が容易(随時必要なテキストがきついてアフターサービスについてのUTF-8で符号化された、長さの接頭辞が付等)
  • やすなどの不透明なバイナリデータの効率的な画像となどによりテキスト形式まえに入り込むbase64)

ることを忘れないでくださいには常に実行バイナリ形式が製造ツールに変換すから、人が読める形式です。このプロトコルのバッファーの枠組みはこれは実際にもとても珍しいイメージに必要な解析のためにテキストバージョンプロトコルのバッファーっていますので、お手軽にできるものとしています。

編集:の場合をこなってしまっている受け答えするものを心 のstarblue:人間が読める形式 多く より良いための差分を.思うにする可能性があるが、このデザインのバイナリ形式に適応していくためには,差分をやる人間が読める形式で差分が発生することがあり)が出のボックスの支援から、既存のdiffインストールが終了されます。

バージョン管理 りやすいテキスト形式での変更が簡単にであればいつでも参照できます。

特に、MS-Wordではなくて悲しみを重要視しています。

  • オープンフォーマットならバイナリービットジャグリング
  • 読みやすさ)
  • インタープラットフォーム
  • デバッグ支援
  • 簡単に構文解析(および容易に換 他の 形式)

一つの重要なポイント:書いてますが、パーサまでの出力ました。このような傾斜のバランスのHRF.

主な理由は、誰かが、データが30年、今から、言って読み取る必要がある場合には、人間が読める形式を把握することができるということです。バイナリは、はるかに困難である。

あなたが(例えば画像)本質的にバイナリで大規模なデータセットを持っている場合、それらは明らかにバイナリ形式以外に保存することができません。しかし、その後も、メタデータは(と!なければならない)人間が読める可能性があります。

Unixのプログラミングののアートのと呼ばれるものがあります。

私はそれが良いか悪いかだと言うではないだろうが、それはかなり有名です。これは、著者がアサートするTextuality に呼ば全体の章がありますその人間が読めるファイル形式は、プログラミングのUnixの方法の重要な部分です。

彼らは、元のものよりも、他のツールで編集/作成する可能性を開きます。新しい、より良いツールは、サードパーティアプリケーションへの統合が可能となり、他の人が開発することができます。例えば、バイナリのiCalファイルを考えてみて - ?フォーマットは成功だったでしょう。

それとは別に:人間の読み込み可能なファイルは、少なくとも理由に誤りを見つけ、精通したユーザーのために、デバッグしたりする能力を向上させる。

プロバイナリー:

  • 高速に解析
  • 一般的に小さなデータ
  • 簡単に書けるパーサのための

プロのための人間が読める形式:

  • より分かりやすく、読み出せ"欄にXに設定4 487ないことの原子炉閉鎖されるべきである現在"
  • を使用する場合はのようなものXML簡単に書ける道具の構文ファイル

いたしました。※の場合は送信データやしたいので小型バイナリが良いです。希望の人が読んでその後の人間が読める形式のが良いです。

人間が読める形式一般的にやや自己記録しています。およびバイナリでberyやすい間違いです。

  • 編集可能
  • 読(duh!)
  • 印刷可能
  • メモ帳vi可能

最も重要なことは、その機能をdecudedからのコンテンツ(も)

あなたは人間であり、遅かれ早かれ、あなた(またはあなたの顧客の1つ)のデータを読み取ることができますので。

速度が問題になる場合は、

私たちは、バイナリ形式を使用します。その場合でも、デバッグが面倒なので、私たちは人間が読める同等を追加しました。

の相互運用性は、標準的な引数であり、すなわち、人間が読める形式が異なるシステムの開発者が対処するために容易であるので、従って、いくつかの利点を与える。

個人的に私はそれが真実ではない、とバイナリファイルのパフォーマンスbenfitsはあなたのプロトコルを公開する場合は特に、その引数を打つべきだと思います。しかし、機械の相互作用のためのXML / HTTPベースのフレームワークのユビキタス性は、採用するのが容易であることを意味します。

XMLが途中過剰に使用されます。

人間が読めるドキュメントフォーマットがより良い選択することができますだけで簡単にイラストます:

本番でアプリケーションをデプロイするために使用され、

ドキュメント

私たちは、のリリースを持っているために使用されるワード形式でのノートが、そのリリースノート文書はプリプロダクションと生産plateformに様々な環境(Linuxでは、Solarisの場合)にオープンする必要がありました。
また、さまざまなデータを抽出するために解析されなければならなかった。

最後に、我々はまだ、ウィキベースの構文に切り替えウィキを通じてHTMLできれいに表示されますが、まだ他の状況で単純なテキストファイルとして使用します。

なわとがあるかどうか分かりません:人に読みやすい物件のファイルフォーマット(全てのファイルをバイナリに、そのファイルフォーマットおよびビューアアプリに組み合わせです。

いわゆる人間が読める形式は、すべての追加の抽象化レイヤの一つの既存の文字エンコーディング.およびビューアプログラム(ばとしての役割も果たしているエディタ)についてのレンダリングこれらのエンコーディング形式で読み取る人間がこれまで行われてきました。

テキストエンコーディングの基準がかなり成熟したが、彼らは進化に向かう見込みである。

通常のテキストエンコーディング層の形式を構文層を合理的に直感的に与えら対象ユーザの知識-文化的背景のもの。

そのために"人間が読む"フォーマット:

  • 携帯機器のに適した視聴者や編集者

  • 続されこれらの文化的慣習が変わらないと思いますか).

  • やすさを学び、修正す

依存の抽象化レイヤのテキスト符号化されたファイル:

  • スペース。

  • 遅くなります。

"バイナリの"ファイルなリゾートの文字エンコード抽象化レイヤーの拠点としては共通の分母はもうおそれがある場合は使用しないで何らかのスキルより抽象化に適した目的とそのため、より最適化された特定のタスクを手に意味:

  • 高速加工。

  • 小さなフットプリント

一方:

  • 視聴者や編集者は特定の特定のバイナリ形式、相互運用性硬くなっていきます。

  • 視聴者が指定する書式は以下に広があることから、これらの専門性を.

  • 形が大幅に進化したの使用時間:その主な利益にとって非常に適しており、特定のタスクとしての課題やタスクの要件に進化させような形式です。

瞬間を取り、ウェブ開発以外のアプリケーションについて考えます。

仮定こと: A)これは、テキスト形式がfalseに「明らか」である意味を持ちます。 製鉄所の制御システム、または製造工場のようなものが一般的に人間が読めることにどんな利点を持っていません。環境のこれらのタイプのソフトウェアは、典型的には、グラフィカル有意義な方法でデータを表示するためのルーチンを持っています。

テキストでそれを出力する

B)が容易になります。実際に多くのコードを必要とし、不要な変換は、システムがLESS堅牢に。問題の事実あなたは文字列としてすべての変数を扱う言語を使用していないならば、人間が読めるテキストは余分な変換です。即ち余分なコードを検証するためのより多くのコード、テストされ、アプリケーションのエラーをイントロためのより多くの機会を意味します。

C)あなたはとにかくそれを解析する必要があります。私は(と開始する、すなわちNO人間読み込み可能なインターフェイス。)で働いてきたデータは、均一なサイズのパケットでシステムの外にストリーミングされDSPシステムのためのそれの多くの例。分析および後の処理のためのデータロギングは、単にバッファの先頭を指し、データロガーシステムにブロックサイズの複数の書き込みの問題です。これは私は、顧客のシステムとして「そのまま」のデータはどこ、もう一度、別の形式に変換することは、おそらくエラーを導入することになる、それを見ることが分析することができます。それだけでなく、あなたが唯一の保存あなたは、問題の診断に役立つかもしれ訳では情報が失われる可能性があり、「データを変換する」場合。

D)テキストデータのための自然なフォーマットです。私が今まで見てきたんハードウェアは、「TEXT」のインターフェイスを使用していません。 (大学のうち私の最初の仕事は、カメララインスキャンカメラ用のデバイスドライバを書いていた。)システムは、それの上に構築MIGHTを行いますが、すべての「PC」のために。

の情報は、テキスト形式で意味する「自然」を持っているので、必ず自分をノックアウトウェブページの場合。ソースコードを処理するためには、もちろん非常に簡単、ません。しかし、たとえあなた冷蔵庫、歯ブラシがあまりない、内蔵のプロセッサを持ってしようとしているパーベイシブ・コンピューティング環境を。単純にテキストがunnessary複雑さを紹介し処理する能力を追加することのオーバーヘッドでシステムのこれらのタイプに負担をかけます。あなたは、マウスを制御する8ビット・マイクロ用のソフトウェアに「printfのを」リンクするつもりはありません。 (そして、ええ、誰かがあまりにもそのソフトウェアを記述する必要があります。)

世界が考慮される必要があるコンピューティングの唯一の形態は、パソコンとWebサーバーである黒と白の場所ではありません。

でもPC上の、私が直接、単一のOSを使用してデータ構造に直接データを読み込むことができれば、コールを読み込み、書き込みシリアライズとデシリアライズルーチンせずにそれを行うことが、それは幻想だ、ブロックCRCジョブをチェック - の上で行わ次の問題ます。

オム...人間が読み取り可能なファイル形式は、人間が読むことができるため?私にはかなり良い理由のように思える。

(まあ、コンフィギュレーションファイルのために、それは彼らが読んで(と編集されること必至です!)人間による。ファイルは、いくつかの並べ替えや他の永続的な記憶のために実際に人間によって読み取りまたは編集する必要はありません。)

  

なぜ人間が読める形式のファイルを使用する必要があります   2進数の1に優先してフォーマット?   状況これは今までにあり   場合ではないのですか?

はい、圧縮されたボリューム(ZIP、JPEG、MP3、など)彼らが読める人間であれば、次善となります。

私はおそらくほとんどの状況ではその良いではないと思います。私は、このようなJSONやXMLなど、これらの形式の主な理由があるため、ユーザー側のデータを処理できるようにする必要がWeb上でWeb開発、及び一般用途のだと思うと、あなたは必ずしもバイナリ読み傾けます。人間が読める形式を使用するのは悪い例良い例は、画像、ビデオ、オーディオなどの任意のもの以外のテキストになります。アイブ氏は、それは意味がありませんどこのWeb開発で使用されている非バイナリフォーマットの使用に気づいた、私は罪悪感を感じる!

多くの場合、ファイルは

(プログラマのみではない)ので、彼らは優しい人間でなければなりませんあなたのヒューマンインタフェースの一部になります
私はカジュアルなオブザーバーから物事を隠すしたいとき

私はアーカイブされないファイルに対してバイナリストリームを使用するだけです。私はの一時ファイルのみの私のアプリケーションを編集する必要がありますを作ってるんだ場合たとえば、私は、バイナリを使用します。

そのだけで(アプリケーションを破ることができた)手でファイルを編集からユーザーを落胆むしろ、難読化するには、

そのない試みます。

これは良いでしょう1つのインスタンスが、いくつかのゲームに関するデータを実行している保存/保管ます。..つまり、あなたのゲームを保存し、後で続けます。他のシナリオは、中間ファイルを記述するだろうが、それらは通常、とにかくコンパイルされたバイナリ/バイトです。

  

なぜ人間が読める形式のファイルを使用する必要があります   バイナリ1に優先してフォーマット

は、データから来て起こっている、すなわち、コンテンツとコンテキストに依存します。データは通常、直接人間によって書かれている場合は、テキストエディタを使用して操作することができる形式で保存することをお勧めします。例えば、プログラムのソースコードは、通常、正当な理由のある人間が読めるように格納されます。我々はそれをアーカイブ、またはバージョン管理システムを使用して、それを共有している場合は、私たちのストレージ戦略が変化します。

また、人間のフォーマットはのドメインにclosierです:

人間のフォーマットを使用すると、フィールド(フィールドは仕様は、このフィールドは文字列でなければならないと言う番号が含まれている例)に問題がある場合は、構文解析とデバッグにsimplierです問題ます。

私は多くのデータとバイナリ形式を好むと私は私が彼を解析するためのソフトウェアを持っていることを確信している:)

RESTについてフィールディングの論文を読んだときは、

、私は本当に= REL」「<のhref =」http://www.ics.uci.edu/~fielding/pubs/dissertation/net_app_arch.htm#sec_2_3" のコンセプトを気に入ってnoreferrer nofollowを ">建築プロパティを";貼り1は、「可視性」でした。データを「見る」ことができること:それは私たちがここで話しているものです。巨大な利点は、システムをデバッグするときます。

私は他の回答で行方不明見つける一つの特徴:の強制セマンティクスをの。

あなたは人間が読めるのために行く瞬間から、あなたは愚かなメモ帳のユーザーがシステムに供給するためのデータを作成することができます。このデータを保証する方法は意味がありません。システムを保証する方法は賢明な方法で応答しないでしょう。

あなたがする必要はありません場合はだから

まず、あなたがより良い人間可読データを避けるため、それを検証するのではなく、あなたのデータをメモ帳-検査、そしてあなたは、(APIの例えば使用によって)有効なデータを強制します。 debuggeabilityが問題(それはほとんどの場合である)である場合は、データの検査も、APIを使用して行うことができます。

人間可読は、マシンコードで解析されやすいと等しくない。

例として、人間の自然言語を取ります。 :)人間の言語の機械解析はまだ完全には解決すべき懸案である。

だから私は、上の https://stackoverflow.com/a/714111/2727173 のどの持ってはるかに深い洞察に同意しますこの質問ます。

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