Ich schreibe eine Binärdatei und deine Routine meint, es wäre eine Textdatei. Und richtig: ICH schreibe eine Binärdatei und dann ist es eine.
Jede Textdatei ist eine Binärdatei. Und wenn du eine "Binärdatei speicherst", dann kann das wiederum durchaus eine Textdatei sein (oder was immer du als Textdatei bezeichnest); denn andere Programme wissen ja nicht, wie du die Datei erzeugt hast.
Ein anschauliches Beispiel: Stell dir vor, du bist ein Bäcker. Eines Tages raubt jemand eine Bank aus und kauft am nächsten Tag bei dir mit dem geraubten Geld ein Brötchen. Hast du dich damit strafbar gemacht? Antwort: Nein, denn du konntest ja nicht wissen, dass das Geld für das Brötchen aus einem Bankraub stammt. Siehst du, das Geld ist die Datei, dessen Herkunft du ja nicht kennst. Für dich ist lediglich wichtig und entscheidend, was auf dem Geldschein drauf steht - bzw. was in der Datei drin steht. Wenn der Geldschein echt ist, kann man damit Brötchen kaufen, ganz unabhängig davon, wo der Geldschein her stammt. So ist das.