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:
1
tests/unicode/data/utf-8_2.txt
Normal file
1
tests/unicode/data/utf-8_2.txt
Normal file
@@ -0,0 +1 @@
|
||||
aαbβcγdδ
|
||||
12
tests/unicode/file2.py
Normal file
12
tests/unicode/file2.py
Normal 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')
|
||||
Reference in New Issue
Block a user