Чем отличается бинарный diff от текстового?
Текстовый дифф составляется по строкам и предназначен для того, чтобы можно было слить два диффа вместе (конфликты в VCS). Бинарный дифф просто передает различия и не предназначен для слияния.
«Учет многобайтовых кодировок» — не понял, что вы имеете в виду? Он нужен для правильного определения переноса строк в текстовых диффах, ну и для «ignore whitespace» — вроде всё.
Посмотрите на табличку: 
upload.wikimedia.org/wikipedia/commons/4/4f/ASCII_Code_Chart.svg
Бинарный diff = diff с красными полями а тектовый только по белым. :-)