CharacterEncoderImplementations__SingleByteEncoder.st
author Claus Gittinger <cg@exept.de>
Tue, 09 Jul 2019 20:55:17 +0200
changeset 24417 03b083548da2
parent 22478 e511b09f7a97
permissions -rw-r--r--
#REFACTORING by exept class: Smalltalk class changed: #recursiveInstallAutoloadedClassesFrom:rememberIn:maxLevels:noAutoload:packageTop:showSplashInLevels: Transcript showCR:(... bindWith:...) -> Transcript showCR:... with:...
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22427
776efa0d3de2 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 21307
diff changeset
     1
"{ Encoding: utf8 }"
776efa0d3de2 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 21307
diff changeset
     2
8148
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8134
diff changeset
     3
"
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8134
diff changeset
     4
 COPYRIGHT (c) 2004 by eXept Software AG
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8134
diff changeset
     5
              All Rights Reserved
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8134
diff changeset
     6
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8134
diff changeset
     7
 This software is furnished under a license and may be used
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8134
diff changeset
     8
 only in accordance with the terms of that license and with the
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8134
diff changeset
     9
 inclusion of the above copyright notice.   This software may not
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8134
diff changeset
    10
 be provided or otherwise made available to, or used by, any
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8134
diff changeset
    11
 other person.  No title to or ownership of the software is
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8134
diff changeset
    12
 hereby transferred.
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8134
diff changeset
    13
"
8081
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
"{ Package: 'stx:libbasic' }"
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
"{ NameSpace: CharacterEncoderImplementations }"
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
22478
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    18
FixedBytesEncoder subclass:#SingleByteEncoder
8081
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	instanceVariableNames:''
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	classVariableNames:''
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
	poolDictionaries:''
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
	category:'Collections-Text-Encodings'
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
!
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
8148
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8134
diff changeset
    25
!SingleByteEncoder class methodsFor:'documentation'!
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8134
diff changeset
    26
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8134
diff changeset
    27
copyright
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8134
diff changeset
    28
"
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8134
diff changeset
    29
 COPYRIGHT (c) 2004 by eXept Software AG
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8134
diff changeset
    30
              All Rights Reserved
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8134
diff changeset
    31
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8134
diff changeset
    32
 This software is furnished under a license and may be used
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8134
diff changeset
    33
 only in accordance with the terms of that license and with the
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8134
diff changeset
    34
 inclusion of the above copyright notice.   This software may not
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8134
diff changeset
    35
 be provided or otherwise made available to, or used by, any
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8134
diff changeset
    36
 other person.  No title to or ownership of the software is
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8134
diff changeset
    37
 hereby transferred.
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8134
diff changeset
    38
"
8811
b2a78fe1d44f documentation
Claus Gittinger <cg@exept.de>
parents: 8148
diff changeset
    39
!
b2a78fe1d44f documentation
Claus Gittinger <cg@exept.de>
parents: 8148
diff changeset
    40
b2a78fe1d44f documentation
Claus Gittinger <cg@exept.de>
parents: 8148
diff changeset
    41
documentation
b2a78fe1d44f documentation
Claus Gittinger <cg@exept.de>
parents: 8148
diff changeset
    42
"
b2a78fe1d44f documentation
Claus Gittinger <cg@exept.de>
parents: 8148
diff changeset
    43
    Common abstract superclass for all single-byte encodings.
b2a78fe1d44f documentation
Claus Gittinger <cg@exept.de>
parents: 8148
diff changeset
    44
b2a78fe1d44f documentation
Claus Gittinger <cg@exept.de>
parents: 8148
diff changeset
    45
    [author:]
b2a78fe1d44f documentation
Claus Gittinger <cg@exept.de>
parents: 8148
diff changeset
    46
        Claus Gittinger
b2a78fe1d44f documentation
Claus Gittinger <cg@exept.de>
parents: 8148
diff changeset
    47
"
8148
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8134
diff changeset
    48
! !
8081
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
!SingleByteEncoder class methodsFor:'queries'!
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
21307
e58425197070 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21140
diff changeset
    52
isAbstract
e58425197070 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21140
diff changeset
    53
    "Return if this class is an abstract class.
e58425197070 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21140
diff changeset
    54
     True is returned here; false for subclasses.
e58425197070 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21140
diff changeset
    55
     Abstract subclasses must redefine this again."
e58425197070 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21140
diff changeset
    56
e58425197070 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21140
diff changeset
    57
    ^ self == CharacterEncoderImplementations::SingleByteEncoder
e58425197070 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21140
diff changeset
    58
!
e58425197070 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21140
diff changeset
    59
8081
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
maxCode
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
    ^ 255 
22478
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    62
! !
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    63
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    64
!SingleByteEncoder methodsFor:'encoding & decoding'!
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    65
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    66
decodeString:anEncodedStringOrByteCollection
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    67
    "given a string in my encoding, return a unicode-string for it"
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    68
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    69
    |newString myCode uniCodePoint bits size "{ Class:SmallInteger }"|
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    70
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    71
    size := anEncodedStringOrByteCollection size.
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    72
    newString := String new:size.
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    73
    bits := newString bitsPerCharacter.
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    74
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    75
    1 to:size do:[:idx |
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    76
        uniCodePoint := (anEncodedStringOrByteCollection at:idx) codePoint.
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    77
        myCode := self decode:uniCodePoint.
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    78
        myCode > 16rFF ifTrue:[
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    79
            myCode > 16rFFFF ifTrue:[
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    80
                bits < 32 ifTrue:[
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    81
                    newString := Unicode32String fromString:newString.
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    82
                    bits := 32.
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    83
                ]
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    84
            ] ifFalse:[
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    85
                bits < 16 ifTrue:[
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    86
                    newString := Unicode16String fromString:newString.
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    87
                    bits := 16.
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    88
                ]
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    89
            ]
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    90
        ].
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    91
        newString at:idx put:(Character value:myCode).
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    92
    ].
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    93
    ^ newString
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    94
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    95
    "
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    96
     CharacterEncoderImplementations::ISO8859_1 decodeString:'hello'
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    97
    "
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    98
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
    99
    "Created: / 16-01-2018 / 19:54:02 / stefan"
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   100
    "Modified (format): / 17-01-2018 / 14:15:00 / stefan"
8081
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
!
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
22478
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   103
encodeString:aUnicodeString
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   104
    "given a string in unicode, return a string in my encoding for it"
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   105
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   106
    |newString myCode stringSize "{ Class: SmallInteger }"|
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   107
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   108
    stringSize := aUnicodeString size.
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   109
    newString := String new:stringSize.
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   110
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   111
    1 to:stringSize do:[:idx |
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   112
        myCode := self encode:((aUnicodeString at:idx) codePoint).
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   113
        newString at:idx put:(Character codePoint:myCode).
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   114
    ].
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   115
    ^ newString
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   116
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   117
    "Created: / 16-01-2018 / 19:53:33 / stefan"
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   118
    "Modified: / 17-01-2018 / 14:15:39 / stefan"
8081
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
! !
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
11997
fm
parents: 8811
diff changeset
   121
!SingleByteEncoder methodsFor:'queries'!
fm
parents: 8811
diff changeset
   122
22427
776efa0d3de2 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 21307
diff changeset
   123
characterSize:charOrCodePoint
21140
06aa04c335c1 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 19826
diff changeset
   124
    "return the number of bytes required to encode codePoint"
11997
fm
parents: 8811
diff changeset
   125
22478
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   126
    ^ 1
11997
fm
parents: 8811
diff changeset
   127
fm
parents: 8811
diff changeset
   128
    "Created: / 15-06-2005 / 15:11:24 / janfrog"
22478
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   129
    "Modified (format): / 16-01-2018 / 19:50:39 / stefan"
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   130
! !
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   131
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   132
!SingleByteEncoder methodsFor:'stream support'!
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   133
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   134
encodeCharacter:aUnicodeCharacterOrCodePoint on:aStream
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   135
    "given a character in unicode, encode it onto aStream.
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   136
     Subclasses can redefine this to avoid allocating many new string instances."
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   137
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   138
    aStream nextPutByte:(self encode:aUnicodeCharacterOrCodePoint codePoint).
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   139
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   140
    "
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   141
      CharacterEncoderImplementations::ISO8859_10 new encodeCharacter:260 on:Transcript
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   142
      CharacterEncoderImplementations::ISO8859_10 new encodeCharacter:$Ą  on:Transcript
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   143
    "
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   144
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   145
    "Created: / 17-01-2018 / 15:07:39 / stefan"
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   146
!
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   147
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   148
readNext:charactersToRead charactersFrom:stream 
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   149
    ^ self decodeString:(stream next:charactersToRead)
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   150
!
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   151
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   152
readNextCharacterFrom:aStream
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   153
    | code |
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   154
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   155
    code := aStream nextByte.
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   156
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   157
    ^ code isNil 
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   158
        ifTrue: [nil]
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   159
        ifFalse: [Character codePoint:(self decode:code)]
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   160
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   161
    "Created: / 16-01-2018 / 20:05:20 / stefan"
e511b09f7a97 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 22427
diff changeset
   162
    "Modified: / 17-01-2018 / 15:19:03 / stefan"
11997
fm
parents: 8811
diff changeset
   163
! !
fm
parents: 8811
diff changeset
   164
8081
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
!SingleByteEncoder class methodsFor:'documentation'!
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
version
19826
4da2517eec1a #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 12609
diff changeset
   168
    ^ '$Header$'
12433
b8654ecbc50d added: #readNextInputCharacterFrom:
Claus Gittinger <cg@exept.de>
parents: 11997
diff changeset
   169
!
b8654ecbc50d added: #readNextInputCharacterFrom:
Claus Gittinger <cg@exept.de>
parents: 11997
diff changeset
   170
b8654ecbc50d added: #readNextInputCharacterFrom:
Claus Gittinger <cg@exept.de>
parents: 11997
diff changeset
   171
version_CVS
19826
4da2517eec1a #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 12609
diff changeset
   172
    ^ '$Header$'
8081
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
! !
19826
4da2517eec1a #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 12609
diff changeset
   174