diff --git a/src/helper/bin2char.c b/src/helper/bin2char.c
index 36198c7fe2b27e23086c057698e5f93834b73342..5bb4a6deebda2be0250a592e0d15999dc87fd14f 100644
--- a/src/helper/bin2char.c
+++ b/src/helper/bin2char.c
@@ -21,6 +21,10 @@
 #include <stdio.h>
 #include <stdlib.h>
 
+#ifdef _WIN32
+ #include <fcntl.h>
+#endif
+
 int main(int argc, char **argv)
 {
 	int c;
@@ -34,6 +38,12 @@ int main(int argc, char **argv)
 		exit(1);
 	}
 
+#ifdef _WIN32
+	/* for win32 set stdin/stdout to binary mode */
+	_setmode(_fileno(stdin), _O_BINARY);
+	_setmode(_fileno(stdout), _O_BINARY);
+#endif
+
 	n = 0;
 	name = argv[1];
 	fprintf(stdout, "/* autogenerated from %s */\n", argv[0]);