diff --git a/Lib/sunaudio.py b/Lib/sunaudio.py
index 05bd867..ab4a8fa 100644
--- a/Lib/sunaudio.py
+++ b/Lib/sunaudio.py
@@ -1,14 +1,14 @@
 """Interpret sun audio headers."""
 
-MAGIC = '.snd'
+MAGIC = b'.snd'
 
 class error(Exception):
     pass
 
 
 def get_long_be(s):
-    """Convert a 4-char value to integer."""
-    return (ord(s[0])<<24) | (ord(s[1])<<16) | (ord(s[2])<<8) | ord(s[3])
+    """Convert a 4-byte value to integer."""
+    return (s[0]<<24) | (s[1]<<16) | (s[2]<<8) | s[3]
 
 
 def gethdr(fp):
@@ -26,15 +26,19 @@
     if excess > 0:
         info = fp.read(excess)
     else:
-        info = ''
+        info = b''
     return (data_size, encoding, sample_rate, channels, info)
 
 
 def printhdr(file):
     """Read and print the sound header of a named file."""
-    hdr = gethdr(open(file, 'r'))
+    f = open(file, 'rb')
+    try:
+        hdr = gethdr(f)
+    finally:
+        f.close()
     data_size, encoding, sample_rate, channels, info = hdr
-    while info[-1:] == '\0':
+    while info.endswith(b'\0'):
         info = info[:-1]
     print('File name:  ', file)
     print('Data size:  ', data_size)
diff --git a/Lib/test/test_ossaudiodev.py b/Lib/test/test_ossaudiodev.py
index eb15e88..0cdc93c 100644
--- a/Lib/test/test_ossaudiodev.py
+++ b/Lib/test/test_ossaudiodev.py
@@ -170,6 +170,7 @@
                            errno.ENODEV, errno.EBUSY):
             raise TestSkipped(msg)
         raise
+    dsp.close()
     test_support.run_unittest(__name__)
 
 if __name__ == "__main__":
