diff --git a/sbp.cabal b/sbp.cabal
--- a/sbp.cabal
+++ b/sbp.cabal
@@ -1,5 +1,5 @@
 name:                  sbp
-version:               5.0.1
+version:               5.0.4
 synopsis:              SwiftNav's SBP Library
 homepage:              https://github.com/swift-nav/libsbp
 license:               MIT
diff --git a/src/SwiftNav/SBP/FileIo.hs b/src/SwiftNav/SBP/FileIo.hs
--- a/src/SwiftNav/SBP/FileIo.hs
+++ b/src/SwiftNav/SBP/FileIo.hs
@@ -165,19 +165,19 @@
 data MsgFileioReadDirResp = MsgFileioReadDirResp
   { _msgFileioReadDirResp_sequence :: !Word32
     -- ^ Read sequence number
-  , _msgFileioReadDirResp_contents :: ![Word8]
+  , _msgFileioReadDirResp_contents :: !Text
     -- ^ Contents of read directory
   } deriving ( Show, Read, Eq )
 
 instance Binary MsgFileioReadDirResp where
   get = do
     _msgFileioReadDirResp_sequence <- getWord32le
-    _msgFileioReadDirResp_contents <- whileM (not <$> isEmpty) getWord8
+    _msgFileioReadDirResp_contents <- decodeUtf8 . toStrict <$> getRemainingLazyByteString
     pure MsgFileioReadDirResp {..}
 
   put MsgFileioReadDirResp {..} = do
     putWord32le _msgFileioReadDirResp_sequence
-    mapM_ putWord8 _msgFileioReadDirResp_contents
+    putByteString $ encodeUtf8 _msgFileioReadDirResp_contents
 
 $(makeSBP 'msgFileioReadDirResp ''MsgFileioReadDirResp)
 $(makeJSON "_msgFileioReadDirResp_" ''MsgFileioReadDirResp)
