CharacterEncoder.st
changeset 22584 661989139856
parent 22579 bae0a1a089a4
child 22587 3d2c9f1a70bd
--- a/CharacterEncoder.st	Wed Mar 07 16:34:11 2018 +0100
+++ b/CharacterEncoder.st	Wed Mar 07 16:36:35 2018 +0100
@@ -38,7 +38,7 @@
 !
 
 CharacterEncoder subclass:#InverseEncoder
-	instanceVariableNames:'decoder'
+	instanceVariableNames:'decoder readAhead'
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:CharacterEncoder
@@ -219,6 +219,17 @@
 
 !CharacterEncoder class methodsFor:'instance creation'!
 
+decoderForUTF8
+    "return an encoder-instance which can map utf8 to/from unicode"
+
+    ^ InverseEncoder new decoder:self encoderForUTF8
+
+    "
+     self encoderForUTF8 
+     self decoderForUTF8
+    "
+!
+
 encoderFor:encodingNameSymbol
     "given the name of an encoding, return an encoder-instance which can map these from/into unicode."
 
@@ -1061,6 +1072,7 @@
          ('cp850'       'Windows Latin1 / codepage 850'   )
          ('cp1250'      'Windows Latin2 / codepage 1250'  )
          ('cp1251'      'Windows Cyrillic / codepage 1251')
+         ('cp1252'      'Windows ANSI / codepage 1252'    )
 "/         ('mac'         'macintosh 8 bit'               )
          ('next'        'NeXT 8 bit'                    )
 "/         ('hp'          'hpux 8 bit'                    )
@@ -1663,8 +1675,8 @@
 
 !CharacterEncoder::InverseEncoder methodsFor:'accessing'!
 
-decoder:something
-    decoder := something.
+decoder:anEncoder
+    decoder := anEncoder.
 ! !
 
 !CharacterEncoder::InverseEncoder methodsFor:'encoding & decoding'!
@@ -1712,7 +1724,7 @@
 readNextCharacterFrom:aStream
     "decode the next byte or character on aStream from unicode to something else"
 
-    ^ decoder encodeString:(Array with:aStream next).
+    ^ decoder encodeString:(String with:aStream next).
 
     "Created: / 16-01-2018 / 21:08:11 / stefan"
     "Modified: / 17-01-2018 / 13:29:59 / stefan"