Я выводил кодировку base64 больших файлов изображений в командной строке с помощью imagemagick. Мне любопытно, есть ли ограничение символов на стандартном выходе (1) в командной строке в Linux. Я использую Ubuntu 14.04.Есть ли предел символов для вывода
ответ
№. Хотя терминалы не работают так хорошо с чрезвычайно длинными линиями.
Вопрос не имеет ничего общего с терминалами, afaics. – rici
Нет ограничений на стандартный вывод.
Если вы хотите, чтобы убедиться в том, что, просто попробуйте:
cat /dev/urandom > somerandomfile
Он будет быстро заполнить ваш диск.
Также обратите внимание, что по умолчанию в стандартной программе C stdout буферизируется в новой строке и существует размер ограничения буфера.
На самом деле есть предел, но вы вряд ли ударить его с файлом изображения: стандартный вывод (обычно) не открывается с «большим файлом» поддержкой. Это проблема при перенаправлении на файл или канал (ваш выход может завершиться неудачей при размере 4 ГБ).
Пределы для труб, на которые ссылается @Dale, ссылаться на количество, которое может быть в трубе, прежде чем считыватель увидит данные.
В любом случае размер файла будет ограничен доступным дисковым пространством.
Кодировка в base64 не изменяет ничего, кроме того, что вы будете использовать больше места, однако используется выход.
Я думаю, что это только на 32-битных системах, скомпилированных с 32-битным off_t, и только если вы открываете файл для чтения. Запись на stdout не будет иметь ограничений для любого Linux. – user894763
Фактически это зависит от * приложения *, а не от * системы *. –
Я проверил несколько тестов: в 64-битных системах везде есть большие файлы, вам не нужны какие-либо флагов компилятора или какие-либо опции для открытия(). В 32-битных Linux вы правы, вам нужно передать '-D_FILE_OFFSET_BITS = 64' компилятору, чтобы иметь возможность открывать и писать огромный файл или писать огромный файл в стандартный вывод.OP, вероятно, 64-битный, поэтому, вероятно, не имеет ограничений. – user894763
- 1. Системный предел для параллелизма вывода
- 2. Предел символов для System.out.println() в Java
- 3. предел количества символов для HPGrowingTextView
- 4. Предел символов для ввода текста
- 5. Есть ли предел размера для Pandas read_table()?
- 6. Есть ли верхний предел для длины строк?
- 7. Есть ли предел памяти для w3wp.exe?
- 8. Есть ли предел размера ArrayBuffer для chrome.hid.send?
- 9. Есть ли приемлемый предел для утечек памяти?
- 10. Есть ли предел AsyncTasks для выполнения одновременно?
- 11. Есть ли предел для фоновых задач?
- 12. Есть ли предел длины для fprintf?
- 13. Предел символов SilverStripe для TextareaField
- 14. Есть ли предел ширины холста
- 15. Строковый предел символов
- 16. Документ готов, есть ли предел?
- 17. Wordpress - wp_list_pages - Есть ли предел?
- 18. Максимальный предел символов для функций preg?
- 19. Есть ли предел для php form textarea/message?
- 20. Предел символов в строке
- 21. mssql_fetch_object текстовый предел символов?
- 22. SQL предел VARCHAR символов
- 23. Предел для символов Юникода в iText
- 24. Каков предел символов для поля ввода файла?
- 25. Предел символов для имен кнопок управления формами
- 26. WebsitePanel Предел символов для имени веб-сайта
- 27. Предел символов в HTML
- 28. Увеличьте предел символов для информации о Opencart.
- 29. Предел символов столбца в MemSQL
- 30. В SQL какой предел символов
Определенно максимальный размер буфера для толстого. http://linux.die.net/man/7/pipe. В частности, «В версиях Linux до версии 2.6.11 емкость канала была такой же, как размер системной страницы (например, 4096 байт на i386). Поскольку Linux 2.6.11, емкость канала составляет 65536 байт». base64 создает только символы ASCII, которые имеют 7 + 1 бит. Вероятно, вы не хотите перетасовывать данные через stdout, если вы обрабатываете изображения. – Dale
Я пробовал базу 64 на Imagemagick год назад назад и сдался, поскольку я не мог заставить его работать. Я использовал его с php, который, возможно, был проблемой. Во всяком случае, цитата из форума Imaagemagick «Командные строки могут принимать только столько данных. Для большого файла вам нужно поместить свои встроенные данные в файл и ссылаться на него, что-то вроде inline: @mydata». IM V7 может быть лучше »Есть ли ограничение на 4096 символов для встроенных данных (8192 в IMv7) - если только его не прочитано из файла:« Также была ошибка, которая должна была быть исправлена с помощью встроенного кодера ». – Bonzo