Есть такая штука, как символ перевода строки.
В юниксе, винде и макосе они разные.
Заливка в текстовом режиме означает автоматическую замену этих символов в файле на родные для платформы, на которую ты его заливаешь.
А теперь представь себе, во что превратится любой не-текстовый файл после такой замены...