diff --git a/src/meshTools/PatchFunction1/MappedFile/MappedFile.C b/src/meshTools/PatchFunction1/MappedFile/MappedFile.C
index 99ed8c3e9be7b930420692cf37e4b8ea92593d8e..d8115a31e7efbe1278713968855dd35244e198c0 100644
--- a/src/meshTools/PatchFunction1/MappedFile/MappedFile.C
+++ b/src/meshTools/PatchFunction1/MappedFile/MappedFile.C
@@ -5,7 +5,7 @@
     \\  /    A nd           | www.openfoam.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
-    Copyright (C) 2018 OpenCFD Ltd.
+    Copyright (C) 2018-2020 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -63,7 +63,17 @@ Foam::PatchFunction1Types::MappedFile<Type>::MappedFile
     endSampleTime_(-1),
     endSampledValues_(0),
     endAverage_(Zero),
-    offset_()
+    offset_(),
+    readFormat_
+    (
+        IOstreamOption::formatNames.getOrDefault
+        (
+            "format",
+            dict,
+            IOstreamOption::ASCII,
+            true  // Failsafe behaviour
+        )
+    )
 {
     if (dict.found("offset"))
     {
@@ -117,7 +127,17 @@ Foam::PatchFunction1Types::MappedFile<Type>::MappedFile
     endSampleTime_(-1),
     endSampledValues_(0),
     endAverage_(Zero),
-    offset_()
+    offset_(),
+    readFormat_
+    (
+        IOstreamOption::formatNames.getOrDefault
+        (
+            "format",
+            dict,
+            IOstreamOption::ASCII,
+            true  // Failsafe behaviour
+        )
+    )
 {
     if (dict.found("offset"))
     {
@@ -158,7 +178,8 @@ Foam::PatchFunction1Types::MappedFile<Type>::MappedFile
     endSampleTime_(ut.endSampleTime_),
     endSampledValues_(ut.endSampledValues_),
     endAverage_(ut.endAverage_),
-    offset_(ut.offset_.clone())
+    offset_(ut.offset_.clone()),
+    readFormat_(ut.readFormat_)
 {}
 
 
@@ -184,7 +205,8 @@ Foam::PatchFunction1Types::MappedFile<Type>::MappedFile
     endSampleTime_(ut.endSampleTime_),
     endSampledValues_(ut.endSampledValues_),
     endAverage_(ut.endAverage_),
-    offset_(ut.offset_.clone())
+    offset_(ut.offset_.clone()),
+    readFormat_(ut.readFormat_)
 {}
 
 
@@ -384,13 +406,13 @@ void Foam::PatchFunction1Types::MappedFile<Type>::checkTable
 
             if (setAverage_)
             {
-                AverageField<Type> avals((IFstream(valsFile)()));
+                AverageField<Type> avals((IFstream(valsFile, readFormat_)()));
                 vals = avals;
                 startAverage_ = avals.average();
             }
             else
             {
-                IFstream(valsFile)() >> vals;
+                IFstream(valsFile, readFormat_)() >> vals;
             }
 
             if (vals.size() != mapperPtr_().sourceSize())
@@ -445,13 +467,13 @@ void Foam::PatchFunction1Types::MappedFile<Type>::checkTable
 
             if (setAverage_)
             {
-                AverageField<Type> avals((IFstream(valsFile)()));
+                AverageField<Type> avals((IFstream(valsFile, readFormat_)()));
                 vals = avals;
                 endAverage_ = avals.average();
             }
             else
             {
-                IFstream(valsFile)() >> vals;
+                IFstream(valsFile, readFormat_)() >> vals;
             }
 
             if (vals.size() != mapperPtr_().sourceSize())
diff --git a/src/meshTools/PatchFunction1/MappedFile/MappedFile.H b/src/meshTools/PatchFunction1/MappedFile/MappedFile.H
index f798654232b1477d8ecb936577dcb689ec655699..3728e17413cf431dd56caa509729d898f0809fd0 100644
--- a/src/meshTools/PatchFunction1/MappedFile/MappedFile.H
+++ b/src/meshTools/PatchFunction1/MappedFile/MappedFile.H
@@ -5,7 +5,7 @@
     \\  /    A nd           | www.openfoam.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
-    Copyright (C) 2018 OpenCFD Ltd.
+    Copyright (C) 2018-2020 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -102,6 +102,9 @@ class MappedFile
 
         //- Time varying offset values to interpolated data
         autoPtr<Function1<Type>> offset_;
+        
+        //- Read option for data (default: IOstream::ASCII)
+        IOstream::streamFormat readFormat_;
 
 
     // Private Member Functions
diff --git a/src/surfMesh/writers/boundaryData/boundaryDataSurfaceWriter.C b/src/surfMesh/writers/boundaryData/boundaryDataSurfaceWriter.C
index 5c02c4027bb1396fd962ed7523a8aff88cc284c6..656c8b1385aa80c63af58e49412006748b9feb18 100644
--- a/src/surfMesh/writers/boundaryData/boundaryDataSurfaceWriter.C
+++ b/src/surfMesh/writers/boundaryData/boundaryDataSurfaceWriter.C
@@ -6,7 +6,7 @@
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
     Copyright (C) 2015 OpenFOAM Foundation
-    Copyright (C) 2015-2019 OpenCFD Ltd.
+    Copyright (C) 2015-2020 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -45,6 +45,7 @@ namespace surfaceWriters
 {
     defineTypeName(boundaryDataWriter);
     addToRunTimeSelectionTable(surfaceWriter, boundaryDataWriter, word);
+    addToRunTimeSelectionTable(surfaceWriter, boundaryDataWriter, wordDict);
 }
 }
 
@@ -53,7 +54,8 @@ namespace surfaceWriters
 
 Foam::surfaceWriters::boundaryDataWriter::boundaryDataWriter()
 :
-    surfaceWriter()
+    surfaceWriter(),
+    writeFormat_(IOstream::ASCII)
 {}
 
 
@@ -62,7 +64,17 @@ Foam::surfaceWriters::boundaryDataWriter::boundaryDataWriter
     const dictionary& options
 )
 :
-    surfaceWriter(options)
+    surfaceWriter(options),
+    writeFormat_
+    (
+        IOstreamOption::formatNames.getOrDefault
+        (
+            "format",
+            options,
+            IOstreamOption::ASCII,
+            true  // Failsafe behaviour
+        )
+    )
 {}
 
 
@@ -243,7 +255,7 @@ Foam::fileName Foam::surfaceWriters::boundaryDataWriter::writeTemplate
 
 
         // Write field
-        OFstream(outputFile)() << tfield();
+        OFstream(outputFile, writeFormat_)() << tfield();
     }
 
     wroteGeom_ = true;
diff --git a/src/surfMesh/writers/boundaryData/boundaryDataSurfaceWriter.H b/src/surfMesh/writers/boundaryData/boundaryDataSurfaceWriter.H
index 4acf33378487ab97fa5ef28d92665cbe989e4388..8c4f1eee484778fadee268dfd5911e32a211a66e 100644
--- a/src/surfMesh/writers/boundaryData/boundaryDataSurfaceWriter.H
+++ b/src/surfMesh/writers/boundaryData/boundaryDataSurfaceWriter.H
@@ -5,7 +5,7 @@
     \\  /    A nd           | www.openfoam.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
-    Copyright (C) 2015-2019 OpenCFD Ltd.
+    Copyright (C) 2015-2020 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -38,7 +38,15 @@ Description
     {
         type            surfaces;
         surfaceFormat   boundaryData;
+        format          binary;
         fields          ( p );
+        formatOptions
+        {
+            boundaryData
+            {
+                format          binary;
+            }
+        }
         surfaces
         (
             outlet
@@ -114,6 +122,9 @@ class boundaryDataWriter
     public surfaceWriter
 {
     // Private Member Functions
+    
+        //- Write option (default: IOstream::ASCII)
+        IOstream::streamFormat writeFormat_;
 
         //- Templated write field operation
         template<class Type>
diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/case_init/system/controlDict b/tutorials/compressible/acousticFoam/obliqueAirJet/case_init/system/controlDict
index 9ecba15585382d2bebfdba01d2725bd2f2b4edff..3101837dd2f595f8b7227841ba87f145cae315ab 100644
--- a/tutorials/compressible/acousticFoam/obliqueAirJet/case_init/system/controlDict
+++ b/tutorials/compressible/acousticFoam/obliqueAirJet/case_init/system/controlDict
@@ -64,15 +64,22 @@ functions
         (
             p
         );
+        formatOptions
+        {
+            boundaryData
+            {
+                format          binary;
+            }
+        }
         surfaces
-        (
+        {
             window
             {
                 type            patch;
                 patches         (window);
                 interpolate     false;
             }
-        );
+        }
     }
 }
 
diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/fullCase/system/faOptions b/tutorials/compressible/acousticFoam/obliqueAirJet/fullCase/system/faOptions
index cd9683753f7f17f19ccac0ceae24081f2148ce07..e80a0bafc1d72fac4b64ec113d3921b3f37d37ac 100644
--- a/tutorials/compressible/acousticFoam/obliqueAirJet/fullCase/system/faOptions
+++ b/tutorials/compressible/acousticFoam/obliqueAirJet/fullCase/system/faOptions
@@ -24,6 +24,7 @@ pressure
     duration        0.03;
     region          vibrationShell;
     selectionMode   all;
+    format          binary;
 }
 
 //************************************************************************** //