Fix check-merge-conflict against binary files
diff --git a/pre_commit_hooks/check_merge_conflict.py b/pre_commit_hooks/check_merge_conflict.py
index ec09473..4a98843 100644
--- a/pre_commit_hooks/check_merge_conflict.py
+++ b/pre_commit_hooks/check_merge_conflict.py
@@ -5,10 +5,10 @@
 import sys
 
 CONFLICT_PATTERNS = [
-    '<<<<<<< ',
-    '======= ',
-    '=======\n',
-    '>>>>>>> '
+    b'<<<<<<< ',
+    b'======= ',
+    b'=======\n',
+    b'>>>>>>> '
 ]
 WARNING_MSG = 'Merge conflict string "{0}" found in {1}:{2}'
 
@@ -30,11 +30,13 @@
 
     retcode = 0
     for filename in args.filenames:
-        with open(filename) as inputfile:
+        with open(filename, 'rb') as inputfile:
             for i, line in enumerate(inputfile):
                 for pattern in CONFLICT_PATTERNS:
                     if line.startswith(pattern):
-                        print(WARNING_MSG.format(pattern, filename, i + 1))
+                        print(WARNING_MSG.format(
+                            pattern.decode(), filename, i + 1,
+                        ))
                         retcode = 1
 
     return retcode
diff --git a/testing/resources/img1.jpg b/testing/resources/img1.jpg
new file mode 100644
index 0000000..dea4262
--- /dev/null
+++ b/testing/resources/img1.jpg
Binary files differ
diff --git a/tests/check_merge_conflict_test.py b/tests/check_merge_conflict_test.py
index 07805b1..be1d51f 100644
--- a/tests/check_merge_conflict_test.py
+++ b/tests/check_merge_conflict_test.py
@@ -3,12 +3,14 @@
 
 import io
 import os
+import shutil
 
 import pytest
 
 from pre_commit_hooks.check_merge_conflict import detect_merge_conflict
 from pre_commit_hooks.util import cmd_output
 from testing.util import cwd
+from testing.util import get_resource_path
 from testing.util import write_file
 
 
@@ -109,6 +111,12 @@
     assert detect_merge_conflict(['f1']) == 0
 
 
+@pytest.mark.usefixtures('f1_is_a_conflict_file')
+def test_ignores_binary_files():
+    shutil.copy(get_resource_path('img1.jpg'), 'f1')
+    assert detect_merge_conflict(['f1']) == 0
+
+
 @pytest.mark.usefixtures('in_tmpdir')
 def test_does_not_care_when_not_in_a_merge():
     with io.open('README.md', 'w') as readme_file: