py: Add stream reading of n unicode chars; unicode support by default.

With unicode enabled, this patch allows reading a fixed number of
characters from text-mode streams; eg file.read(5) will read 5 unicode
chars, which can made of more than 5 bytes.

For an ASCII stream (ie no chars > 127) it only needs to do 1 read.  If
there are lots of non-ASCII chars in a stream, then it needs multiple
reads of the underlying object.

Adds a new test for this case.  Enables unicode support by default on
unix and stmhal ports.
This commit is contained in:
Damien George
2014-07-16 11:45:10 +01:00
parent 02bc882c3d
commit 1694bc733d
6 changed files with 103 additions and 4 deletions

View File

@@ -0,0 +1 @@
aαbβcγ

12
tests/unicode/file2.py Normal file
View File

@@ -0,0 +1,12 @@
# test reading a given number of characters
def do(mode):
f = open('unicode/data/utf-8_2.txt', mode)
print(f.read(1))
print(f.read(1))
print(f.read(2))
print(f.read(4))
f.close()
do('rb')
do('rt')