--- a/EncodedStream.st Fri Sep 25 22:01:07 2015 +0100
+++ b/EncodedStream.st Sat Sep 26 06:57:11 2015 +0200
@@ -57,6 +57,18 @@
s := EncodedStream stream:Transcript encoder:(CharacterEncoder encoderToEncodeFrom:#utf8 into:#unicode).
s nextPutAll:('öäü' utf8Encoded)
"
+!
+
+stream:streamArg encoding:encodingSymbol
+ ^ self stream:streamArg encoder:(CharacterEncoder encoderFor:encodingSymbol)
+
+ "
+ |baseStream s|
+ baseStream := '' readWriteStream.
+ s := EncodedStream stream:baseStream encoding:#utf8.
+ s nextPutAll:'öäü'.
+ baseStream reset; contents.
+ "
! !
!EncodedStream class methodsFor:'Compatibility-VW5.4'!
@@ -74,16 +86,11 @@
and return an appropriate encoded string, which does the decoding
on the fly. Used mostly to read UTF8 files (source code)"
- |encodingSymbol decoder decodedStream|
+ |encodingSymbol decodedStream|
aStream inputStream isPositionable ifTrue:[
encodingSymbol := CharacterEncoder guessEncodingOfStream:aStream inputStream.
- decoder := CharacterEncoder encoderFor:encodingSymbol.
- decoder isNil ifTrue:[
- "/ ascii or iso8895-1
- ^ aStream
- ].
- decodedStream := self stream:aStream encoder:decoder.
+ decodedStream := self stream:aStream encoding:encodingSymbol.
"JV@2012-03-27: NO, DO NOT CHANGE POSITION!! Caller might be interested
in all data!!!!!!"
"/decodedStream skipEncodingChunk.
@@ -585,11 +592,11 @@
!EncodedStream class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/EncodedStream.st,v 1.41 2015-03-26 16:20:12 cg Exp $'
+ ^ '$Header$'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/EncodedStream.st,v 1.41 2015-03-26 16:20:12 cg Exp $'
+ ^ '$Header$'
!
version_SVN