CharacterEncoderImplementations__EBCDIC.st
changeset 13062 88e3d3fe31b6
child 18011 deb0c3355881
child 22347 3a5f4ce2f8f8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/CharacterEncoderImplementations__EBCDIC.st	Mon Sep 20 17:26:46 2010 +0200
@@ -0,0 +1,627 @@
+"
+ COPYRIGHT (c) 2010 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:libbasic' }"
+
+"{ NameSpace: CharacterEncoderImplementations }"
+
+SingleByteEncoder subclass:#EBCDIC
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Collections-Text-Encodings'
+!
+
+!EBCDIC class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2010 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
+documentation
+"
+    EBCDIC 
+
+    [see with:]
+        CharacterEncoderImplementations::EBCDIC showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
+! !
+
+!EBCDIC methodsFor:'encoding & decoding'!
+
+decode:codeArg
+    "Automagically generated by generateCode - do not modify.
+     Decode from my encoding into unicode."
+
+    |code "{ Class: SmallInteger }"|
+
+    code := codeArg.
+    code > 16rFF ifTrue:[
+        ^ self decodingError.
+    ].
+    ^ #(
+       "16r0000"    16r0000  
+       "16r0001"    16r0001  
+       "16r0002"    16r0002  
+       "16r0003"    16r0003  
+       "16r0004"    nil  
+       "16r0005"    16r0009     "HT"  
+       "16r0006"    nil  
+       "16r0007"    16r007F     "DEL"  
+       "16r0008"    nil  
+       "16r0009"    nil  
+       "16r000A"    nil  
+       "16r000B"    16r000B     "VT"
+       "16r000C"    16r000C  
+       "16r000D"    16r000D  
+       "16r000E"    16r000E  
+       "16r000F"    16r000F  
+
+       "16r0010"    16r0010  
+       "16r0011"    16r0011  
+       "16r0012"    16r0012  
+       "16r0013"    16r0013  
+       "16r0014"    nil  
+       "16r0015"    16r0085       
+       "16r0016"    16r0008   
+       "16r0017"    nil  
+       "16r0018"    16r0018  
+       "16r0019"    16r0019  
+       "16r001A"    nil  
+       "16r001B"    nil  
+       "16r001C"    16r001C  
+       "16r001D"    16r001D  
+       "16r001E"    16r001E  
+       "16r001F"    16r001F  
+
+       "16r0020"    nil         "DS"  
+       "16r0021"    nil         "SOS"
+       "16r0022"    nil  
+       "16r0023"    nil  
+       "16r0024"    nil  
+       "16r0025"    16r000A     "LF"
+       "16r0026"    16r0017     "ETB"
+       "16r0027"    16r001B     "ESC"
+       "16r0028"    nil  
+       "16r0029"    nil  
+       "16r002A"    nil  
+       "16r002B"    nil  
+       "16r002C"    nil  
+       "16r002D"    16r0005     "ENQ"  
+       "16r002E"    16r0006     "ACK"
+       "16r002F"    16r0007     "BEL"
+
+       "16r0030"    nil  
+       "16r0031"    nil  
+       "16r0032"    nil  
+       "16r0033"    nil  
+       "16r0034"    nil  
+       "16r0035"    nil  
+       "16r0036"    nil  
+       "16r0037"    16r0004     "EOT"  
+       "16r0038"    nil  
+       "16r0039"    nil  
+       "16r003A"    nil  
+       "16r003B"    nil  
+       "16r003C"    16r0014     "DC4"  
+       "16r003D"    16r0015     "NAK"
+       "16r003E"    nil  
+       "16r003F"    16r001A     "SUB"
+
+       "16r0040"    16r0020     "BLANK"  
+       "16r0041"    16r00A0
+       "16r0042"    16r00E2     "a circumflex"  
+       "16r0043"    16r00E4  
+       "16r0044"    16r00E0  
+       "16r0045"    16r00E1  
+       "16r0046"    16r00E3  
+       "16r0047"    16r00E5  
+       "16r0048"    16r00E7  
+       "16r0049"    16r00F1  
+       "16r004A"    16r005B  
+       "16r004B"    16r002E  
+       "16r004C"    16r003C  
+       "16r004D"    16r0028  
+       "16r004E"    16r002B  
+       "16r004F"    16r0021  
+
+       "16r0050"    16r0026  
+       "16r0051"    16r00E9  
+       "16r0052"    16r00EA  
+       "16r0053"    16r00EB  
+       "16r0054"    16r00E8  
+       "16r0055"    16r00ED  
+       "16r0056"    16r00EE  
+       "16r0057"    16r00EF  
+       "16r0058"    16r00EC  
+       "16r0059"    16r00DF  
+       "16r005A"    16r005D  
+       "16r005B"    16r0024  
+       "16r005C"    16r002A  
+       "16r005D"    16r0029  
+       "16r005E"    16r003B  
+       "16r005F"    16r005E  
+
+       "16r0060"    16r002D  
+       "16r0061"    16r002F  
+       "16r0062"    16r00C2  
+       "16r0063"    16r00C4  
+       "16r0064"    16r00C0  
+       "16r0065"    16r00C1  
+       "16r0066"    16r00C3  
+       "16r0067"    16r00C5  
+       "16r0068"    16r00C7  
+       "16r0069"    16r00D1  
+       "16r006A"    16r00A6  
+       "16r006B"    16r002C  
+       "16r006C"    16r0025  
+       "16r006D"    16r005F  
+       "16r006E"    16r003E  
+       "16r006F"    16r003F  
+
+       "16r0070"    16r00F8  
+       "16r0071"    16r00C9  
+       "16r0072"    16r00CA  
+       "16r0073"    16r00CB  
+       "16r0074"    16r00C8  
+       "16r0075"    16r00CD  
+       "16r0076"    16r00CE  
+       "16r0077"    16r00CF  
+       "16r0078"    16r00CC  
+       "16r0079"    16r0060  
+       "16r007A"    16r003A  
+       "16r007B"    16r0023  
+       "16r007C"    16r0040  
+       "16r007D"    16r0027  
+       "16r007E"    16r003D  
+       "16r007F"    16r0022  
+
+       "16r0080"    16r00D8  
+       "16r0081"    16r0061  
+       "16r0082"    16r0062  
+       "16r0083"    16r0063  
+       "16r0084"    16r0064  
+       "16r0085"    16r0065  
+       "16r0086"    16r0066  
+       "16r0087"    16r0067  
+       "16r0088"    16r0068  
+       "16r0089"    16r0069  
+       "16r008A"    16r00AB     
+       "16r008B"    16r00BB  
+       "16r008C"    16r00F0  
+       "16r008D"    16r00FD     
+       "16r008E"    16r00FE  
+       "16r008F"    16r00B1  
+
+       "16r0090"    16r00B0  
+       "16r0091"    16r006A  
+       "16r0092"    16r006B  
+       "16r0093"    16r006C  
+       "16r0094"    16r006D  
+       "16r0095"    16r006E  
+       "16r0096"    16r006F  
+       "16r0097"    16r0070  
+       "16r0098"    16r0071  
+       "16r0099"    16r0072  
+       "16r009A"    16r00AA  
+       "16r009B"    16r00BA  
+       "16r009C"    16r00E6  
+       "16r009D"    16r00B8  
+       "16r009E"    16r00C6  
+       "16r009F"    16r00A4  
+
+       "16r00A0"    16r00B5     "Mu"
+       "16r00A1"    16r007E  
+       "16r00A2"    16r0073  
+       "16r00A3"    16r0074  
+       "16r00A4"    16r0075  
+       "16r00A5"    16r0076  
+       "16r00A6"    16r0077  
+       "16r00A7"    16r0078  
+       "16r00A8"    16r0079  
+       "16r00A9"    16r007A  
+       "16r00AA"    16r00A1  
+       "16r00AB"    16r00BF  
+       "16r00AC"    16r00D0  
+       "16r00AD"    16r00DD  
+       "16r00AE"    16r00DE  
+       "16r00AF"    16r00AE  
+
+       "16r00B0"    16r00A2  
+       "16r00B1"    16r00A3  
+       "16r00B2"    16r00A5  
+       "16r00B3"    16r00B7  
+       "16r00B4"    16r00A9  
+       "16r00B5"    16r00A7  
+       "16r00B6"    16r00B6  
+       "16r00B7"    16r00BC  
+       "16r00B8"    16r00BD  
+       "16r00B9"    16r00BE  
+       "16r00BA"    16r00AC  
+       "16r00BB"    16r007C  
+       "16r00BC"    16r00AF  
+       "16r00BD"    16r00A8  
+       "16r00BE"    16r00B4  
+       "16r00BF"    16r00D7 
+
+       "16r00C0"    16r007B  
+       "16r00C1"    16r0041  
+       "16r00C2"    16r0042  
+       "16r00C3"    16r0043  
+       "16r00C4"    16r0044  
+       "16r00C5"    16r0045  
+       "16r00C6"    16r0046  
+       "16r00C7"    16r0047  
+       "16r00C8"    16r0048  
+       "16r00C9"    16r0049  
+       "16r00CA"    16r00AD  
+       "16r00CB"    16r00F4  
+       "16r00CC"    16r00F6  
+       "16r00CD"    16r00F2  
+       "16r00CE"    16r00F3  
+       "16r00CF"    16r00F5  
+
+       "16r00D0"    16r007D  
+       "16r00D1"    16r004A  
+       "16r00D2"    16r004B  
+       "16r00D3"    16r004C  
+       "16r00D4"    16r004D  
+       "16r00D5"    16r004E  
+       "16r00D6"    16r004F  
+       "16r00D7"    16r0050  
+       "16r00D8"    16r0051  
+       "16r00D9"    16r0052  
+       "16r00DA"    16r00B9  
+       "16r00DB"    16r00FB  
+       "16r00DC"    16r00FC  
+       "16r00DD"    16r00F9  
+       "16r00DE"    16r00FA  
+       "16r00DF"    16r00FF  
+
+       "16r00E0"    16r005C  
+       "16r00E1"    16r00F7  
+       "16r00E2"    16r0053  
+       "16r00E3"    16r0054  
+       "16r00E4"    16r0055  
+       "16r00E5"    16r0056  
+       "16r00E6"    16r0057  
+       "16r00E7"    16r0058  
+       "16r00E8"    16r0059  
+       "16r00E9"    16r005A  
+       "16r00EA"    16r00B2  
+       "16r00EB"    16r00D4  
+       "16r00EC"    16r00D6  
+       "16r00ED"    16r00D2  
+       "16r00EE"    16r00D3  
+       "16r00EF"    16r00D5  
+
+       "16r00F0"    16r0030  
+       "16r00F1"    16r0031  
+       "16r00F2"    16r0032  
+       "16r00F3"    16r0033  
+       "16r00F4"    16r0034  
+       "16r00F5"    16r0035  
+       "16r00F6"    16r0036  
+       "16r00F7"    16r0037  
+       "16r00F8"    16r0038  
+       "16r00F9"    16r0039  
+       "16r00FA"    16r00B3  
+       "16r00FB"    16r00DB  
+       "16r00FC"    16r00DC  
+       "16r00FD"    16r00D9  
+       "16r00FE"    16r00DA  
+       "16r00FF"    nil  
+       ) at:(code + 1).
+!
+
+encode:codeArg
+    "Automagically generated by generateCode - do not modify.
+     Encode from unicode into my encoding."
+
+    |code "{ Class: SmallInteger }"|
+
+    code := codeArg.
+    code > 16rFF ifTrue:[
+        ^ self decodingError.
+    ].
+    ^ #(
+       "16r0000"    16r0000  
+       "16r0001"    16r0001  
+       "16r0002"    16r0002  
+       "16r0003"    16r0003 
+       "16r0004"    16r0037
+       "16r0005"    16r002D
+       "16r0006"    16r002E
+       "16r0007"    16r002F  
+       "16r0008"    16r0016  
+       "16r0009"    16r0005  
+       "16r000A"    16r0025
+       "16r000B"    16r000B     
+       "16r000C"    16r000C  
+       "16r000D"    16r000D  
+       "16r000E"    16r000E  
+       "16r000F"    16r000F  
+
+       "16r0010"    16r0010  
+       "16r0011"    16r0011  
+       "16r0012"    16r0012  
+       "16r0013"    16r0013  
+       "16r0014"    16r003C
+       "16r0015"    16r003D
+       "16r0016"    nil   
+       "16r0017"    16r0026  
+       "16r0018"    16r0018  
+       "16r0019"    16r0019  
+       "16r001A"    16r003F
+       "16r001B"    16r0027  
+       "16r001C"    16r001C  
+       "16r001D"    16r001D  
+       "16r001E"    16r001E  
+       "16r001F"    16r001F  
+
+       "16r0020"    16r0040   
+       "16r0021"    16r004F       
+       "16r0022"    16r007F  
+       "16r0023"    16r007B  
+       "16r0024"    16r005B  
+       "16r0025"    16r006C   
+       "16r0026"    16r0050
+       "16r0027"    16r007D
+       "16r0028"    16r004D  
+       "16r0029"    16r005D  
+       "16r002A"    16r005C  
+       "16r002B"    16r004E  
+       "16r002C"    16r006B  
+       "16r002D"    16r0060
+       "16r002E"    16r004B
+       "16r002F"    16r0061
+
+       "16r0030"    16r00F0  
+       "16r0031"    16r00F1  
+       "16r0032"    16r00F2  
+       "16r0033"    16r00F3  
+       "16r0034"    16r00F4  
+       "16r0035"    16r00F5  
+       "16r0036"    16r00F6  
+       "16r0037"    16r00F7  
+       "16r0038"    16r00F8  
+       "16r0039"    16r00F9  
+       "16r003A"    16r007A  
+       "16r003B"    16r005E  
+       "16r003C"    16r004C  
+       "16r003D"    16r007E
+       "16r003E"    16r006E  
+       "16r003F"    16r006F
+
+       "16r0040"    16r007C
+       "16r0041"    16r00C1  
+       "16r0042"    16r00C2
+       "16r0043"    16r00C3 
+       "16r0044"    16r00C4  
+       "16r0045"    16r00C5  
+       "16r0046"    16r00C6  
+       "16r0047"    16r00C7 
+       "16r0048"    16r00C8 
+       "16r0049"    16r00C9  
+       "16r004A"    16r00D1  
+       "16r004B"    16r00D2  
+       "16r004C"    16r00D3  
+       "16r004D"    16r00D4  
+       "16r004E"    16r00D5
+       "16r004F"    16r00D6  
+
+       "16r0050"    16r00D7  
+       "16r0051"    16r00D8  
+       "16r0052"    16r00D9  
+       "16r0053"    16r00E2   
+       "16r0054"    16r00E3   
+       "16r0055"    16r00E4   
+       "16r0056"    16r00E5   
+       "16r0057"    16r00E6   
+       "16r0058"    16r00E7   
+       "16r0059"    16r00E8   
+       "16r005A"    16r00E9  
+       "16r005B"    16r004A  
+       "16r005C"    16r00E0  
+       "16r005D"    16r005A  
+       "16r005E"    16r005F  
+       "16r005F"    16r006D  
+
+       "16r0060"    16r0079  
+       "16r0061"    16r0081  
+       "16r0062"    16r0082  
+       "16r0063"    16r0083  
+       "16r0064"    16r0084  
+       "16r0065"    16r0085  
+       "16r0066"    16r0086  
+       "16r0067"    16r0087  
+       "16r0068"    16r0088  
+       "16r0069"    16r0089  
+       "16r006A"    16r0091  
+       "16r006B"    16r0092  
+       "16r006C"    16r0093  
+       "16r006D"    16r0094  
+       "16r006E"    16r0095  
+       "16r006F"    16r0096  
+
+       "16r0070"    16r0097  
+       "16r0071"    16r0098  
+       "16r0072"    16r0099  
+       "16r0073"    16r00A2  
+       "16r0074"    16r00A3  
+       "16r0075"    16r00A4  
+       "16r0076"    16r00A5  
+       "16r0077"    16r00A6  
+       "16r0078"    16r00A7  
+       "16r0079"    16r00A8  
+       "16r007A"    16r00A9  
+       "16r007B"    16r00C0  
+       "16r007C"    16r00BB  
+       "16r007D"    16r00D0  
+       "16r007E"    16r00A1  
+       "16r007F"    16r0007  
+
+       "16r0080"    nil  
+       "16r0081"    nil  
+       "16r0082"    nil  
+       "16r0083"    nil  
+       "16r0084"    nil  
+       "16r0085"    16r0015  
+       "16r0086"    nil  
+       "16r0087"    nil  
+       "16r0088"    nil  
+       "16r0089"    nil  
+       "16r008A"    nil     
+       "16r008B"    nil  
+       "16r008C"    nil  
+       "16r008D"    nil     
+       "16r008E"    nil  
+       "16r008F"    nil  
+
+       "16r0090"    nil  
+       "16r0091"    nil  
+       "16r0092"    nil  
+       "16r0093"    nil  
+       "16r0094"    nil  
+       "16r0095"    nil  
+       "16r0096"    nil  
+       "16r0097"    nil  
+       "16r0098"    nil  
+       "16r0099"    nil  
+       "16r009A"    nil  
+       "16r009B"    nil  
+       "16r009C"    nil  
+       "16r009D"    nil  
+       "16r009E"    nil  
+       "16r009F"    nil  
+
+       "16r00A0"    16r0041    
+       "16r00A1"    16r00AA  
+       "16r00A2"    16r00B0  
+       "16r00A3"    16r00B1  
+       "16r00A4"    16r009F  
+       "16r00A5"    16r00B2  
+       "16r00A6"    16r006A  
+       "16r00A7"    16r00B5  
+       "16r00A8"    16r00BD  
+       "16r00A9"    16r00B4  
+       "16r00AA"    16r009A  
+       "16r00AB"    16r008A  
+       "16r00AC"    16r00BA  
+       "16r00AD"    16r00CA  
+       "16r00AE"    16r00AF  
+       "16r00AF"    16r00BC  
+
+       "16r00B0"    16r0090  
+       "16r00B1"    16r008F  
+       "16r00B2"    16r00EA  
+       "16r00B3"    16r00FA  
+       "16r00B4"    16r00BE  
+       "16r00B5"    16r00A0  
+       "16r00B6"    16r00B6  
+       "16r00B7"    16r00B3  
+       "16r00B8"    16r009D  
+       "16r00B9"    16r00DA  
+       "16r00BA"    16r009B  
+       "16r00BB"    16r008B  
+       "16r00BC"    16r00B7  
+       "16r00BD"    16r00B8  
+       "16r00BE"    16r00B9  
+       "16r00BF"    16r00AB 
+
+       "16r00C0"    16r0064  
+       "16r00C1"    16r0065  
+       "16r00C2"    16r0062 
+       "16r00C3"    16r0066  
+       "16r00C4"    16r0063  
+       "16r00C5"    16r0067 
+       "16r00C6"    16r009E  
+       "16r00C7"    16r0068  
+       "16r00C8"    16r0074  
+       "16r00C9"    16r0071  
+       "16r00CA"    16r0072  
+       "16r00CB"    16r0073 
+       "16r00CC"    16r0078  
+       "16r00CD"    16r0075  
+       "16r00CE"    16r0076  
+       "16r00CF"    16r0077  
+
+       "16r00D0"    16r00AC  
+       "16r00D1"    16r0069  
+       "16r00D2"    16r00ED  
+       "16r00D3"    16r00EE  
+       "16r00D4"    16r00EB  
+       "16r00D5"    16r00EF  
+       "16r00D6"    16r00EC  
+       "16r00D7"    16r00BF  
+       "16r00D8"    16r0080  
+       "16r00D9"    16r00FD  
+       "16r00DA"    16r00FE  
+       "16r00DB"    16r00FB     
+       "16r00DC"    16r00FC  
+       "16r00DD"    16r00AD  
+       "16r00DE"    16r00AE  
+       "16r00DF"    16r0059   
+
+       "16r00E0"    16r0044  
+       "16r00E1"    16r0045  
+       "16r00E2"    16r0042  
+       "16r00E3"    16r0046  
+       "16r00E4"    16r0043  
+       "16r00E5"    16r0047  
+       "16r00E6"    16r009C  
+       "16r00E7"    16r0048  
+       "16r00E8"    16r0054   
+       "16r00E9"    16r0051  
+       "16r00EA"    16r0052   
+       "16r00EB"    16r0053   
+       "16r00EC"    16r0058   
+       "16r00ED"    16r0055   
+       "16r00EE"    16r0056   
+       "16r00EF"    16r0057   
+
+       "16r00F0"    16r008C  
+       "16r00F1"    16r0049  
+       "16r00F2"    16r00CD  
+       "16r00F3"    16r00CE  
+       "16r00F4"    16r00CB  
+       "16r00F5"    16r00CF  
+       "16r00F6"    16r00CC  
+       "16r00F7"    16r00E1  
+       "16r00F8"    16r0070 
+       "16r00F9"    16r00DD  
+       "16r00FA"    16r00DE  
+       "16r00FB"    16r00DB  
+       "16r00FC"    16r00DC  
+       "16r00FD"    16r008D  
+       "16r00FE"    16r008E  
+       "16r00FF"    16r00DF  
+       ) at:code+1.
+! !
+
+!EBCDIC class methodsFor:'documentation'!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__EBCDIC.st,v 1.1 2010-09-20 15:26:46 cg Exp $'
+! !