Make this work on Mac as well (where Type and Creator are bytes instead of str).
diff --git a/Lib/binhex.py b/Lib/binhex.py
index 0dfa475..a56a8c8 100644
--- a/Lib/binhex.py
+++ b/Lib/binhex.py
@@ -192,7 +192,12 @@
         if nl > 63:
             raise Error, 'Filename too long'
         d = bytes([nl]) + name.encode("latin-1") + b'\0'
-        d2 = bytes(finfo.Type, "ascii") + bytes(finfo.Creator, "ascii")
+        tp, cr = finfo.Type, finfo.Creator
+        if isinstance(tp, str):
+            tp = tp.encode("latin-1")
+        if isinstance(cr, str):
+            cr = cr.encode("latin-1")
+        d2 = tp + cr
 
         # Force all structs to be packed with big-endian
         d3 = struct.pack('>h', finfo.Flags)