imagemagickでコマンドラインに大きなイメージファイルのbase64エンコードを出力しています。私は、Linuxのコマンドラインで標準出力(1)に文字制限があるかどうか不思議です。私はUbuntu 14.04を使用しています。出力の文字制限があります
答えて
標準出力の上限はありません。あなたはそれを確認するには
、ちょうど試してみてください。それが急速にディスクがいっぱいになります
cat /dev/urandom > somerandomfile
。
標準のCプログラムでは、stdoutは改行時にバッファリングされ、バッファ制限サイズがあることにも注意してください。
は、実際には限度があるが、あなたは、イメージファイルとそれをヒットするそうです:標準出力(通常は)「大規模ファイル」のサポートで開かれていません。これは、ファイルまたはパイプにリダイレクトするときの問題です(出力が4GBのサイズで失敗する可能性があります)。
@Daleによって暗示されたパイプの制限値は、読み取り装置がデータを見る前にパイプに入る可能性のある量を示します。
いずれの場合でも、ファイルサイズは使用可能なディスク容量によって制限されます。
Base64でのエンコーディングは、それ以上のスペースを使用することを除いて、それを変更しませんが、出力は使用されます。
私はそれが32ビットシステムでのみ、32ビットのoff_tでコンパイルされていると思います。読み込み用にファイルを開いている場合に限ります。 stdoutへの書き込みには、どのLinuxでも制限はありません。 – user894763
実際には*システム*ではなく*アプリケーション*に依存します。 –
私はいくつかのテストを行いました.64ビットシステムでは、すべてが大容量のファイルであり、コンパイラフラグやopen()オプションを渡す必要はありません。 32ビットLinuxでは、巨大なファイルを開いたり書きたり、巨大なファイルをstdoutに書き込めるようにするには、コンパイラに '-D_FILE_OFFSET_BITS = 64'を渡す必要があります。OPはおそらく64ビットなので、おそらく制限はありません。 – user894763
- 1. tesseract-ocr出力の文字またはファイルサイズの制限はありますか?
- 2. ユーザーが入力できる文字数の制限がありません
- 3. 制限JTextField文字入力
- 4. XSLT要素の出力を2000文字に制限します。
- 5. Javaで最大文字出力を制限しますか?
- 6. 辞書キーに文字制限がありますか?
- 7. SQL Serverは文字制限がありますか?
- 8. .xmlファイルに文字数制限がありますか?
- 9. 絵文字でUITextViewの文字数制限が正しくありません
- 10. 数値入力フィールドの集まりの文字数の制限
- 11. Javaプログラムの文字列サイズに制限はありますか?
- 12. ManagementEventWatcherの文字数制限はありますか?
- 13. TFS REST APIの文字数に制限はありますか?
- 14. LUIS文字数の制限はありますか?
- 15. 入力テキストの文字制限
- 16. 制限文字を制限し、特別チャレターを迅速に制限する問題はありますか?
- 17. 文字列の文字をカウントするコードの出力がありません
- 18. ifstreamの出力に奇妙な文字があります
- 19. Kaggleの出力パスに無効な文字があります
- 20. IEのツールチップ文字の長さに制限がありますか?
- 21. 文字列型のcmisオブジェクトのプロパティ値に制限がありますか
- 22. 説明にはページの文字数の制限があります。 PHP
- 23. CSSの1行あたりの文字数を制限する
- 24. ASP.NET:クエリ文字列にはパラメータの長さに制限がありますか?
- 25. 1行あたりの文字数を制限する
- 26. LUTに制限があります:無制限の次元で
- 27. 制御文字エスケープする必要があります文字を制御
- 28. Slim 3.3の出力に文字がありません
- 29. Windowsのbatファイルを呼び出すTomcatのどこかに1000文字の制限がありますか?
- 30. 文字列の制限数はテキストエリアで入力できます
確かに、スタウトの最大バッファサイズがあります。 http://linux.die.net/man/7/pipe。特に、「2.6.11より前のLinuxでは、パイプの容量がシステムページのサイズ(i386では4096バイト)と同じでした。Linux 2.6.11以降、パイプ容量は65536バイトです。」 base64は7 + 1ビットのASCII文字のみを生成します。イメージを処理している場合、stdoutを介してデータをシャッフルしたくないかもしれません。 – Dale
私はImagemagickのベース64を1年前に試していましたが、それを動作させることができなかったので、あきらめました。私は問題であったかもしれないPHPでそれを使用していました。とにかくImaagemagickフォーラムの引用文「コマンドラインは大量のデータしか受け付けられませんが、大きなファイルの場合は、インラインデータをファイルに入れて、インラインのようなものを参照する必要があります:@mydata」 IM V7はもっと良いかもしれません "ファイルから読み込まない限り、インラインデータには4096文字制限(IMv7では8192)があります。"また、 "インラインコーダー"で修正されたバグがありました。 – Bonzo