diff --git a/filesystems/native.py b/filesystems/native.py
index <HASH>..<HASH> 100644
--- a/filesystems/native.py
+++ b/filesystems/native.py
@@ -22,7 +22,7 @@ def _create_file(fs, path):
             raise exceptions.SymbolicLoop(path.parent())
         raise
 
-    return io.open(fd, "w+b")
+    return io.open(fd, "w+")
 
 
 def _open_file(fs, path, mode):
diff --git a/filesystems/tests/common.py b/filesystems/tests/common.py
index <HASH>..<HASH> 100644
--- a/filesystems/tests/common.py
+++ b/filesystems/tests/common.py
@@ -106,7 +106,7 @@ class TestFS(object):
         self.addCleanup(fs.remove, tempdir)
 
         with fs.create(tempdir.descendant("unittesting")) as f:
-            f.write(b"some things!")
+            f.write("some things!")
 
         with fs.open(tempdir.descendant("unittesting")) as g:
             self.assertEqual(g.read(), "some things!")
@@ -452,7 +452,7 @@ class TestFS(object):
 
         child = to.descendant("child")
         with fs.create(child) as f:
-            f.write(b"some things over here!")
+            f.write("some things over here!")
 
         self.assertEqual(fs.contents_of(child), "some things over here!")
Make create also return file objects expecting native strings...

Fixes the tests on Py3.