Guidelines to use 8-bit character codes A. Pirard University of Liege Belgium Important preliminary notice This file contains translation tables. As indicated, they translate some of the characters arbitrarily and a decision of the constructor who defined the proprietary codes would be welcome so that everybody use the same translation. Hence, my publishing them may work opposite to my goal if somebody uses them and doesn't check later if a standard table exists. So, I'll try to watch myself and clearly update this paragraph along with the standard version of the tables themselves when the miracle occurs. In the course of my work in communications in a French-speaking environment -- writing programs, installing but mostly having to adapt others -- I discovered facts, notions, techniques and data related to international characters usage. Many English-speaking programmers are willing to extend the scope of their software to what is for them "foreign languages". Discussion with them is often lengthy to convey numerous details that are obvious to one and obscure to the other. Trying to help without repeating the same words all over again is the reason of this document. This text is restricted to the problem of the character codes used in data. Yet, I should mention briefly that isolating from executable code the user interface messages is a real plus. These messages should be easily translatable for by anyone who knows the language, even if source is unavailable. Anything similar to the Macintosh resources is ideal. To avoid making feel this too easy, I must however warn than phrases in many languages are longer than English and that the order of inserts may vary depending on grammar. I am much indebted to the people I met on these networks, on the mailing list ISO8859@JHUVM (especially Edwin Hart HART@APLVM, with his SHARE White Paper to IBM and Johan van Wingen, a character codes specialist), in the Kermit developpers group animated by Frank da Cruz and many volunteers led by Christine Gianone, and to the so many others I am unable to mention. At the risk of a lack of justification, I have made every effort to keep this text as concise as possible to spare your time and one will have to think beyond the text in some places. On the other hand, please excuse if some paragraphs contain evidence: it is sometimes needed. Also remember that English is not my mother language... A language among others: French. Like many other languages, French uses characters not found in English. It likes to adorn them with diacritics (accents). Other languages have other characters, from a few like German to totally different like Russian and Greek, or even the right to left Arabic and Hebrew. To the question: "could you do without them?", I like to reply that forgetting them in "a la francaise" makes it mean "has the French girl". "a" must take a grave accent to distinguish the preposition from the verb and "c" takes a cedilla. French without diacritics is just as unpleasant as all-uppercase text and very difficult to read, stumbling on each and every missing accent, like proof-reading one's kid dictation. In the general case, many languages cannot do without their own characters. 7-bit character codes A "character" is what one writes down on paper. A "code" is a computer representation of a set of characters that we can see as associated to numbers, called "code points". A code usually includes "control characters" for which a graphic representation does not normally exist, because they are only used to control the operation of hardware or have special meanings to programs. ASCII (ANSI X3.4) was defined as a 7-bit code for English at a time when hardware was really hard and expensive. To allow the use of some of those particular characters that other languages need, it was later decided that a defined set of the least used ones could be replaced. This is ISO 646. Several language have the set replaced with their own characters. This is what can be done with Escape sequence of Epson printers to switch to a national language. ANSI X3.4 is an instance of ISO 646. But, for some languages like French, the amount of characters that can be replaced is not enough and text processing of these days made extensive use of backspaces and overstrikes for the missing ones. US EBCDIC used more or less the same characters as ASCII, but used different code points. I should say "more and less". Some ASCII characters did not exist in EBCDIC (e. g. brackets) and EBCDIC had ones (cent sign, not sign) that were not in ASCII. As a consequence, the translation between ASCII and EBCDIC was strictly speaking undefined, and IBM never officially defined a single complete one. Albeit EBCDIC was an 8-bit code "with holes", IBM made the same characters replacements as ISO 646 in hardware to be used with other languages (but as other characters were missing, this was of little use to French). Even though data was stored in octets, 7-bit communication line were used and it was common practice for software to strip off the 8th bit despite a possible extension of the code, future or existing. 8-bit character codes Storing in a database text full of "this backspace that", trying to sort it etc... or getting a Sterling pound bill paid in dollars because that's what the dollar sign is replaced with in the English version of ISO 646 was a real pain an insult to the octet. It was soon realized that, even if text processing could cope with compound characters, data processing could not. One character must be one data element. With the era of cheaper hardware and microcomputers, manufacturers started to use the upper half of the 256 code points for international characters. It was one major reason of the success of these computers over here. But there was no standard and each did it his own way as to both which characters and which code points to use, like to-day's DEC, Apple, Atari, Commodore or other less known brands. The IBM PC was built with yet another code that was later called "code page 437" and that everyone in the compatible business settled on. But IBM also built PCs with variations for countries using characters that were not in 437, now called 860, 863 and 865. There was an evident Babel and a new standard had to be set. National institutions and many constructors participated to produce the ISO 8859 standard. As 256 code points are not enough for all languages in the world, several "versions" of this standard exist (see below for a list, still evolving). ISO 8859-1 is for group 1 of Latin-based languages and covers Western Europe, including English, hence many major countries in North and South America, Australia and many others world wide. A new multibyte standard is being prepared: ISO 10646, that will cover all languages in a single code. ISO 8859-1 is the sigle-octet-compacted subset of ISO 10646. Until it can be used, today's hardware and software, strongly single-byte oriented, can easily extend the scope of a character code to 8 bits and a version of ISO 8859. The particular version used being implicit to a language is indeed sorry, but it must be understood that it is a dramatic improvement in a country where data is implicit anyway. For short, I may call "ISO 8859" or simply "ISO" in the following text any version that a system uses at any one time, when assuming that the systems do not switch versions dynamically, but that the user can setup the choice of the version he uses, if not implied by hardware. ISO 8859 (any version) is an extension of ASCII. The upper half (in fact, 128-159 are reserved for more control characters) is filled with characters for a group of countries. The present trend to use ISO 8859 is certain. Version 1 is much like the previous DEC's "8-bit ASCII code", and VT terminals now have Escape sequences to switch among and display several ISO 8859 versions. If one looks at Microsoft and Lotus international codes, one sees that they had soon adopted a "pre-release" of ISO 8859-1. As explained below, IBM have adopted ISO 8859-1 their own way. X-Windows specifications (from MIT, of a presentation system on a remote graphic terminal) prescribe that ISO 8859-1 is to be used on the communication line. ISO 8859-1, Latin Alphabet 1, for Dutch, English, Faeroese, Finnish, French, German, Icelandic, Irish, Italian, Norwegian, Portuguese, Spanish, and Swedish. ISO 8859-2, Latin Alphabet 2. Albanian, Czech, English, German, Hungarian, Polish, Romanian, Serbocroation, Slovak, and Slovene. ISO 8859-3, Latin Alphabet 3, for Afrikaans, Catalan, English, Esperanto, French, Galician, German, Italian, Maltese, and Turkish. ISO 8859-4, Latin Alphabet 4, for Danish, English, Estonian, Finnish, German, Greenlandic, Lappish, Latvian, Lithuanian, Norwegian, and Swedish. ISO 8859-5, the Latin/Cyrillic Alphabet, for Bulgarian, Byelorussian, Macedonian, Russian, Serbocroation, and Ukrainian. ISO 8859-6, the Latin/Arabic Alphabet. ISO 8859-7, the Latin/Greek Alphabet. ISO 8859-8, the Latin/Hebrew Alphabet. ISO 8859-9, Latin Alphabet 5, for Danish, Dutch, English, Faeroese, Finnish, French, German, Irish, Italian, Norwegian, Portuguese, Spanish, Swedish, and Turkish. The "foreign" environment. So, these facts of languages have our typewriters different, and the computer keyboards are modelled after them. A few letters shifted about, digits on the uppercase side, accented letters in place of programming symbols etc.. More striking, if you pardon the pun, is that the amount of keys is not enough for all the French characters. Just like a typewriter could overtype, some so-called dead-keys are used to compose accented letters by a strike of the accent followed by one of another letter, giving a single code point as program input. It must be realized that, to an international computer user, an 8- bit code is just as natural as the 7-bit one of English-speaking users. 8-bit code points "come out" some plain keys of the keyboard and are expected to display. If a program filters them out, it will be shocking. Worse, if it uses these code points for internal control functions, the user will be confused with "strange behavior" a US keyboard would never produce. For example, if it strips the 8th bit of a PC e-acute, it produces a disturbing linefeed. Or if a program decides that normal characters belong to the range 32-127, this will play havoc. It is worth checking a program with such data, that some keyboards can produce with alternate input. Trust little about the keyboard layout like physical scan-codes. The only reliable input is through the operating system or country- configurable keyboard interface. Trying to use a keyboard redefinition system consisting of macros transforming some hardware level input causes problems too, because the dead-keys make two inputs and the system interface used could just not see them at all. 8-bit codes in communications. We now realize that exchanging data between those computers with proprietary 8-bit codes is to us exactly like sending data from an ASCII machine to an EBCDIC one: translation has to occur somewhere (which is to translate what to what?). Communication, if to work at all, relies heavily on strict standards. If communication between EBCDIC and ASCII computers is feasible, it is because of the well known fact -- so well one often forgets to state it -- that character on a communication line must be ASCII. Just imagime there is nothing such to us... It is urgently needed to stop all sorts of hacking. I know of at least 25 different codes similar to ISO 8859-1 that a file receiver must try to guess from which translate to its own. This makes over 1000 translation tables. The only solution is to state that each and every octet of text data carried on a communication line cannot be anything else that an official standard and that, while waiting for a single multi-octet standard, each language uses only one standard. ISO 8859 fills this purpose and is the only official standard. It is already used by major firms and some protocols like X-Windows. The conclusions are: - If a computer is forced to continue using a code different from but with a character set similar to a version of ISO 8859, it must behave with regard of what it sends on and receives from communication lines as if it were using that version of ISO. This means that the key feature of protocols (like file transfer in text mode or electronic mail) is to implement translation of the data that this protocol exchanges with the communication line. This applies to both services provided by a host and terminal functions provided by stations. - In normal usage, this translation is expected to always be to ISO 8859, but, to ease the transition period, the table is best customisable and, even better, selectable, especially to revert to the compatible case of null translation. - If a computer does not and cannot use one of the ISO 8859 codes, but uses a character set close to one, a requirement is to define a "best fit" translation between the proprietary code and that ISO version for text file transfer. The important point is that this translation must be invertible for all the 256 characters, even if this translates characters to totally different ones to be used for functions like file transfer. The reason is that doing otherwise permanently corrupts data that cannot be processed later. It is better to obtain an apparently unreadable disk file that can be sent back unaltered than to transliterate it with lookalike characters and introduce confusion about what was the initial data. And even if a system does not use a subset of the code points, it may have to receive files from systems that do, and translation that is not one-to-one and invertible means unusable data. - The main difficulty is that this translation should be unique for a given system. Someone has to rule what the translation is exactly but it is difficult to convince a constructor of this necessity. Indeed, for two different software packages written for the same system to be able to talk to each other, the translation must be implemented the same way in each (i. e. inverted, meaning one-to-one consistency) and not disabled. - When a choice for a new code of a system has to be made, it seems obvious that the painless one to avoid any translation is the only standard: a version of ISO 8859. For example, this applies to Unix systems now migrating to 8 bits: they must store ISO 8859 data. This is a choice of the code used by the terminals, but also of in what code to display system messages translated to national language for the terminals to read them correctly. - For communication programs that usually provide VT100 terminal mode, it is not necessary to provide the full features of the higher VT models that can switch character codes to get something usable. Moreover, it is not desirable to impose that the hosts a terminal is connected to do have to send character codes switching escape sequences in order to initiate the use of national characters. The best is to be able to setup terminal mode with an initial state of what display the GR code points (values above 127). This way, using ISO 8859 will only be a "matter of fact" to the host and neither has to know about code switching. This is especially true when the only possible thing a microcomputer can do is display ISO with a "useful translation" of the GR set of its own similar character set, like the IBM PC or an Apple Macintosh with standard fonts. Now, one important remark about implementing translation with a proprietary code. With a high variety of protocols exchanging various data formats or structures with the outside world, it is a wrong approach to try to translate at the communication line interface. It is much easier to translate "where the things go wrong", that's at the keyboard, screen, pipes, file access etc.. interfaces. The remarkable result is that every data the application processes in memory is ISO 8859, as if it executed in an ideal system, that the application (and its messages files) remain portable for such systems or applications implementing this method and that the modifications to be made to various applications are the same, because they are confined in the host system interfaces. IBM and ISO 8859-1 For the PC, IBM has now adopted the character set of ISO 8859-1 with a different code. This was done by replacing some characters of the original PC's code, now called code page 437, to obtain all the characters of ISO 8859-1. This new code is called "code page 850" and IBM sees it as the preferred code page for all Latin1 customers (it's their default code for OS/2). See the appendix D of the "DOS reference manual" for a description of 850 and the code pages it may replace: 437, 860, 863 and 865. Beware, the yen, cent, and two paragraph symbols that existed in 437 moved in 850. When one builds a translation table between 850 and ISO 8859-1, 32 characters of 850, mainly box-drawing, are left to be assigned to the 32 control characters 80-9F of ISO. IBM does not tell us how to do that. For the EBCDIC mainframes, IBM decided that, because terminals were already using the ISO-646-like replacements to the US EBCDIC, they had to stay compatible. They extended each such "national EBCDIC" to "country extended code pages". Thus, there are as many EBCDICs as versions of ISO 646 (what ISO 8859 is trying to avoid): CECP 037 for US, Canada-French, Netherlands, Portugal. CECP 273 for Germany. CECP 277 for Denmark and Norway. CECP 278 for Finland and Sweden. CECP 280 for Italy. CECP 284 for Latin America and Spain. CECP 285 for United Kingdom. CECP 297 for France. CECP 500 for Belgium, Switzerland-French and Switzerland-German. Like 850, all these codes contain all the characters of ISO 8859-1. Also 32 more control characters that, again, we are not told how to translate to ISO. We have evidence for printable characters from code pages publications. We have a hint for control characters from an EBCDIC to ISO 2022 translation table in a Fortran manual. As the OS/2 Communication Manager implements revertible translation across all these codes, we may also deduce from its EBCDIC/PC code translation what the translation of the PC control characters to ISO could be. But indeed we would need more official information. Moreover, we have no hint for the characters of code page 437 that do not belong to ISO, and, compared to 850, the the Communication Manager translates them differently to EBCDIC, even those box graphic characters that are the same in 850 and 437. A really strange feature is that none of these CECPs is compatible with a de-facto standard EBCDIC, corresponding to a de-facto ASCII/EBCDIC translation, that a huge amount of products settled on long ago, including software from IBM: - all compilers from IBM or others: C, REXX, PL/I, Pascal, for those sensitive to the differences in code points, - File transfer programs like Kermit, PCTERM, and IBM TCP/IP, - Terminal emulation: TTY line mode or 3270 emulation by the 7171, - ASCII tapes translation, - Products to translate ASCII to EBCDIC on a mainframe: ARCUTIL ... - Products that should produce ASCII, but produce EBCDIC because data goes through EBCDIC/ASCII translation: e. g. SAS output for Tektronix, - Products that convert this output anyway, because the expected EBCDIC/ASCII translation does not occur: LINEMODE through the 7171 transparent mode, - Similarly, TPRINT to print in this transparent mode - Certainly many other products I don't know of or I forget, because, as you see, the de-facto EBCDIC snowballs from one to the other, - Last but far from least, it's the translation made by most gateways that relay mail between BITNET and the Internet. (BITNET is an IBM- proprietary network where data is EBCDIC. Internet is a worldwide ASCII based network where mail is implemented by the SMTP protocol. But SMTP is further gatewayed with other ASCII based mailing networks.) Gateways must all use the same translation so that the network appears transparent from the outside and predictable from the inside. Of special importance is that of the encoding of data that is to be transmitted by e-mail (UUENCODE, BOO, HQX...): if the ASCII-EBCDIC-ASCII translation fails to be invertible, the user gets error messages or, if the encoding method has no data integrity check, simply the wrong data without warning. The closest to the de-facto EBCDIC is CECP 037 with the differences: ASCII EBCDIC CECP 037 5B AD BA left bracket 5D BD BB right bracket 5E 5F B0 circumflex accent What is getting ridiculous is that all compilers expect brackets at AD and BD, that none of the CECPs use these code points, and that the Communication Manager only knows about CECPs and is unable to transfer a file containing C-language statements from the IBM-PC-C-compiler-ASCII to the mainframe-C-compiler-EBCDIC. The requirement #1 of SHARE is that IBM use a single EBCDIC code for Latin group 1 and publish it. Using an extension of de-facto EBCDIC is recommended (said otherwise, 037 with 3 code points swapped as above). I have asked that, whatever the ISO 8859-x version, its translation to an equivalent CECP use the same ISCII/EBCDIC table, so that ISCII/EBCDIC translation be independent of the particular version. There is an informal reply from IBM so far that they "will try to converge on a scheme for international data interchange, while retaining national data entry methods. This scheme will employ tagged data wherever feasible, but will almost certainly involve some kind of "reference EBCDIC" as a standard. When pressed, IBM representatives indicated that the current trend is toward adoption of code page 500 for the standard." (Quoted from Rick Troth report to the list ISO8859.) This answer is a good step, but not much of an immediate help. Very technical argument. It may seem unclear why the 5E/5F translation is required. The reasons are as follows: Translation of ASCII 5E "circumflex" has always been to EBCDIC 5F, which is "not sign" in 037 but "circumflex" in 500. There was no "circumflex" in EBCDIC and no "not" in ASCII. Now, both have both and the old translation seems abnormal to continue with 037, but normal with 500. It is so "popular" it would be difficult to adopt CECP 037. So, either ISO or CECP, worse ASCII or EBCDIC must swap the code points. Swapping the 037 definition to get CECP xxx is not that bad, it means that: - PL/I and REXX "are said to" use "circumflex" for the not operator. - Their documentation would have to change, but a small fix to REXX and PL/I to accept both would make it almost unnecessary. - The new not operator is usable from an ASCII terminal without a cheat. - Isn't "circumflex" the "not operator" in CECP 500 after all? The IBM 7171 This 3270 protocol converter was initially designed to support US ASCII only and uses the de-facto EBCDIC. However, customized translation tables using the APL feature can make an IBM EBCDIC mainframe appear as an ISO 8859 host to the ASCII terminals. The translation tables can adapt any CECP to ISO. The CECP is chosen on initial connection by replying the corresponding terminal type. A single code (ISO 8859) on the communication line reduces the Nonvolatile RAM requirements. One problem is that the 7171 forces the communication line to be 7- bit and that the terminal MUST use the SO/SI protocol for input AND output. For its input (terminal keyboard), the 7171 can also be programmed to accept a non-locking shift escape sequence in front of each character of the GR set. File transfer is best done in transparent mode that operates without translation, but is also restricted to 7-bit and needs 8-bit to 7-bit encoding. Asynchronous communication Thanks to the interest of Frank da Cruz and Christine Gianone, Kermit now defines specifications to support ISO 8859 (and other codes if needed) on the communication line in terminal and file transfer mode. It has provision to extend to mixed codes files too. John Chandler has extended the traditional translation made by his remarkable IBM mainframe Kermits to the specific choice of any CECP or the extended de-facto EBCDIC to ISO 8859-1. The impressive MSDOS Kermit by Joe Doupnik now also supports translation of PC code pages to ISO8859-1. Thanks to Paul Placeway, Macintosh Kermit now supports ISO 8859-1 as an 8-bit line terminal. I think I can speak on behalf on the international computing community and enthusiastically thank these people for a work most useful to us. TCP/IP Despite a mention I have read in an introduction to the TCP/IP communication protocols "provision for hosts with different character sets", I don't think the idea extends much beyond the problem of the EBCDIC code restricted to the US ASCII character set. For international characters users, the same problem exists for any pair of hosts not using the same 8-bit code. Or, said with the standards in mind, a host not using ISO 8859. However, it is just a matter of what a protocol states, and, indeed, the specifications of X-Windows state that ISO 8859-1 is the code that must be used to exchange text between the client and the server of that protocol. What is needed is a general TCP/IP statement saying what single code its application protocols use on communication lines: temptatively ISO 8859 with future migration to ISO 10646. TCP/IP has 8-bit data transport but usually no translation, except for EBCDIC mainframes. Telnet and SMTP mention restriction to 7-bit ASCII with high-order bit set to zero. Yet, SMTP does not say if some intermediate agent is in right to zero a bit that was set to one by the source, and it is not clear if the intention is to forbid a "random" high-order bit and allow for a future extension, rather than disallow it. It would be much welcome that an 8-bit code be allowed at least in the mail body and, further, specified: a version of ISO 8859, like for X- Windows. RFC 821 (4.5.2) states that data transforms must be reversible. Speaking of BITNET/ASCII gateways, if the whole BITNET network is considered as one system, this means that all gateways must use the same translation tables; not knowing which caused evident failures to do so. Moreover, beyond a strict SMTP concern, it is difficult to implement an invertible translation between an inherently 8-bit EBCDIC and a 7-bit code. It should be extended to 8-bit, strictly specified and invertible. Telnet line communication code should be ISO 8859 by both the client and server as explained in general terms above. Making TN3270 transfer ISO 8859 would have been difficult because it would have envolved some redefinition of 3270 data. Yet, it must be observed that the general programming method making a communication program process ISO 8859 in memory still holds for 3270 when ISO/EBCDIC translation is performed in the line buffers encoding/decoding routines. The same general rules for translation as explained above for file transfer apply to FTP. General conclusions 1) Every effort should be made so that all operating systems' codes be unique and universal, i. e. ISO 8859-x for an 8-bit code, while waiting for the perfect unicity of a single multibyte code. 2) Failing that, communication software must palliate a particular system weakness and translate data so that it appears to the outside world to use the unique data interchange code. 3) Programers must deal with 8-bit character codes (and prepare for multibytes ones). While waiting. Failing to receive precise invertible translation tables from the manufacturers, we must do our best to make our own agreement about the translation of the code points that are undefined. I have been looking for the most widely accepted complete tables and I explain the reasons of the choices. However, I cannot guarantee that another translation will not be used someday. The data correspond to my explanations. That's all I can say. DEC Easy case first. DEC uses ISO 8859. Nothing to do except making sure the 8 bits go through. IBM (EBCDIC mainframes first) With the Communication Manager of OS/2, IBM uses highly coherent invertible translation tables between mainframes and PCs. One can translate from any of the numerous EBCDIC CECPs to any of the codepages of the PC, data is never lost and comes back unaltered, whatever the trip fom one code to another (this is called "round trip integrity"). Such a coherence is not fortuitous, nor only the case of the Communication Manager. I expect that deriving all the code pages from ISO 8859-1 was widely planned and that all the products based on them are coherent. For example, I have verified that the tables that GDDM uses to translate from one CECP to another are coherent with the Communication Manager. The good news is that once we know a translation, we know them all by "mathematical deduction". The bad news is that the Communication Manager tells us only how to translate between any code of the set of PC and CECPs codepages to another, not ISO 8859-1. Because of the character representation, we know how CECP 037 translates to ISO 8859-1 except for the 32 control characters. So, if we can find a clue for those characters, we know all the translations. The people on the mailing list ISO8859 have found the most probable one. Except for correcting an invalid ISO 9F=>EBCDIC E1, because E1 is "Divide sign", it is identical to: "VS/Fortran Language & Library Reference Manual, Rel 4.1, SC26-4119-1" GOST 19768-87 MTS sites translation Unix file conversion "dd conv=ibm" JNET EBCDIC/ASCII network gateways (except for another difference for ISO 85 and 8A) If the ASCII world (I mean ISO) is to be served, we must also be compatible with what they have been using for years and define an extension of the de-facto EBCDIC in addition to the 9 official CECPs. A word of warning: This EBCDIC definition is not official, but the most sensible compromise for compatibility with the de-facto EBCDIC and official CECPs. The following tables translate ISO 8859-1 to EBCDIC and are followed by the inverse translation. In all cases, the translation of the 80-A0 range of ISO 8859-1 is the best guess of the list ISO8859. "Extended de-facto EBCDIC". 00 01 02 03 37 2D 2E 2F 16 05 25 0B 0C 0D 0E 0F 10 11 12 13 3C 3D 32 26 18 19 3F 27 1C 1D 1E 1F 40 5A 7F 7B 5B 6C 50 7D 4D 5D 5C 4E 6B 60 4B 61 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F 7C C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6 D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 AD E0 BD 5F 6D 79 81 82 83 84 85 86 87 88 89 91 92 93 94 95 96 97 98 99 A2 A3 A4 A5 A6 A7 A8 A9 C0 4F D0 A1 07 20 21 22 23 24 15 06 17 28 29 2A 2B 2C 09 0A 1B 30 31 1A 33 34 35 36 08 38 39 3A 3B 04 14 3E FF 41 AA 4A B1 9F B2 6A B5 BB B4 9A 8A B0 CA AF BC 90 8F EA FA BE A0 B6 B3 9D DA 9B 8B B7 B8 B9 AB 64 65 62 66 63 67 9E 68 74 71 72 73 78 75 76 77 AC 69 ED EE EB EF EC BF 80 FD FE FB FC BA AE 59 44 45 42 46 43 47 9C 48 54 51 52 53 58 55 56 57 8C 49 CD CE CB CF CC E1 70 DD DE DB DC 8D 8E DF ---- inverted ---- 00 01 02 03 9C 09 86 7F 97 8D 8E 0B 0C 0D 0E 0F 10 11 12 13 9D 85 08 87 18 19 92 8F 1C 1D 1E 1F 80 81 82 83 84 0A 17 1B 88 89 8A 8B 8C 05 06 07 90 91 16 93 94 95 96 04 98 99 9A 9B 14 15 9E 1A 20 A0 E2 E4 E0 E1 E3 E5 E7 F1 A2 2E 3C 28 2B 7C 26 E9 EA EB E8 ED EE EF EC DF 21 24 2A 29 3B 5E 2D 2F C2 C4 C0 C1 C3 C5 C7 D1 A6 2C 25 5F 3E 3F F8 C9 CA CB C8 CD CE CF CC 60 3A 23 40 27 3D 22 D8 61 62 63 64 65 66 67 68 69 AB BB F0 FD FE B1 B0 6A 6B 6C 6D 6E 6F 70 71 72 AA BA E6 B8 C6 A4 B5 7E 73 74 75 76 77 78 79 7A A1 BF D0 5B DE AE AC A3 A5 B7 A9 A7 B6 BC BD BE DD A8 AF 5D B4 D7 7B 41 42 43 44 45 46 47 48 49 AD F4 F6 F2 F3 F5 7D 4A 4B 4C 4D 4E 4F 50 51 52 B9 FB FC F9 FA FF 5C F7 53 54 55 56 57 58 59 5A B2 D4 D6 D2 D3 D5 30 31 32 33 34 35 36 37 38 39 B3 DB DC D9 DA 9F "CECP 037". 00 01 02 03 37 2D 2E 2F 16 05 25 0B 0C 0D 0E 0F 10 11 12 13 3C 3D 32 26 18 19 3F 27 1C 1D 1E 1F 40 5A 7F 7B 5B 6C 50 7D 4D 5D 5C 4E 6B 60 4B 61 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F 7C C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6 D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 BA E0 BB B0 6D 79 81 82 83 84 85 86 87 88 89 91 92 93 94 95 96 97 98 99 A2 A3 A4 A5 A6 A7 A8 A9 C0 4F D0 A1 07 20 21 22 23 24 15 06 17 28 29 2A 2B 2C 09 0A 1B 30 31 1A 33 34 35 36 08 38 39 3A 3B 04 14 3E FF 41 AA 4A B1 9F B2 6A B5 BD B4 9A 8A 5F CA AF BC 90 8F EA FA BE A0 B6 B3 9D DA 9B 8B B7 B8 B9 AB 64 65 62 66 63 67 9E 68 74 71 72 73 78 75 76 77 AC 69 ED EE EB EF EC BF 80 FD FE FB FC AD AE 59 44 45 42 46 43 47 9C 48 54 51 52 53 58 55 56 57 8C 49 CD CE CB CF CC E1 70 DD DE DB DC 8D 8E DF ---- inverted ---- 00 01 02 03 9C 09 86 7F 97 8D 8E 0B 0C 0D 0E 0F 10 11 12 13 9D 85 08 87 18 19 92 8F 1C 1D 1E 1F 80 81 82 83 84 0A 17 1B 88 89 8A 8B 8C 05 06 07 90 91 16 93 94 95 96 04 98 99 9A 9B 14 15 9E 1A 20 A0 E2 E4 E0 E1 E3 E5 E7 F1 A2 2E 3C 28 2B 7C 26 E9 EA EB E8 ED EE EF EC DF 21 24 2A 29 3B AC 2D 2F C2 C4 C0 C1 C3 C5 C7 D1 A6 2C 25 5F 3E 3F F8 C9 CA CB C8 CD CE CF CC 60 3A 23 40 27 3D 22 D8 61 62 63 64 65 66 67 68 69 AB BB F0 FD FE B1 B0 6A 6B 6C 6D 6E 6F 70 71 72 AA BA E6 B8 C6 A4 B5 7E 73 74 75 76 77 78 79 7A A1 BF D0 DD DE AE 5E A3 A5 B7 A9 A7 B6 BC BD BE 5B 5D AF A8 B4 D7 7B 41 42 43 44 45 46 47 48 49 AD F4 F6 F2 F3 F5 7D 4A 4B 4C 4D 4E 4F 50 51 52 B9 FB FC F9 FA FF 5C F7 53 54 55 56 57 58 59 5A B2 D4 D6 D2 D3 D5 30 31 32 33 34 35 36 37 38 39 B3 DB DC D9 DA 9F "CECP 273". 00 01 02 03 37 2D 2E 2F 16 05 25 0B 0C 0D 0E 0F 10 11 12 13 3C 3D 32 26 18 19 3F 27 1C 1D 1E 1F 40 4F 7F 7B 5B 6C 50 7D 4D 5D 5C 4E 6B 60 4B 61 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F B5 C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6 D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 63 EC FC 5F 6D 79 81 82 83 84 85 86 87 88 89 91 92 93 94 95 96 97 98 99 A2 A3 A4 A5 A6 A7 A8 A9 43 BB DC 59 07 20 21 22 23 24 15 06 17 28 29 2A 2B 2C 09 0A 1B 30 31 1A 33 34 35 36 08 38 39 3A 3B 04 14 3E FF 41 AA B0 B1 9F B2 CC 7C BD B4 9A 8A BA CA AF BC 90 8F EA FA BE A0 B6 B3 9D DA 9B 8B B7 B8 B9 AB 64 65 62 66 4A 67 9E 68 74 71 72 73 78 75 76 77 AC 69 ED EE EB EF E0 BF 80 FD FE FB 5A AD AE A1 44 45 42 46 C0 47 9C 48 54 51 52 53 58 55 56 57 8C 49 CD CE CB CF 6A E1 70 DD DE DB D0 8D 8E DF ---- inverted ---- 00 01 02 03 9C 09 86 7F 97 8D 8E 0B 0C 0D 0E 0F 10 11 12 13 9D 85 08 87 18 19 92 8F 1C 1D 1E 1F 80 81 82 83 84 0A 17 1B 88 89 8A 8B 8C 05 06 07 90 91 16 93 94 95 96 04 98 99 9A 9B 14 15 9E 1A 20 A0 E2 7B E0 E1 E3 E5 E7 F1 C4 2E 3C 28 2B 21 26 E9 EA EB E8 ED EE EF EC 7E DC 24 2A 29 3B 5E 2D 2F C2 5B C0 C1 C3 C5 C7 D1 F6 2C 25 5F 3E 3F F8 C9 CA CB C8 CD CE CF CC 60 3A 23 A7 27 3D 22 D8 61 62 63 64 65 66 67 68 69 AB BB F0 FD FE B1 B0 6A 6B 6C 6D 6E 6F 70 71 72 AA BA E6 B8 C6 A4 B5 DF 73 74 75 76 77 78 79 7A A1 BF D0 DD DE AE A2 A3 A5 B7 A9 40 B6 BC BD BE AC 7C AF A8 B4 D7 E4 41 42 43 44 45 46 47 48 49 AD F4 A6 F2 F3 F5 FC 4A 4B 4C 4D 4E 4F 50 51 52 B9 FB 7D F9 FA FF D6 F7 53 54 55 56 57 58 59 5A B2 D4 5C D2 D3 D5 30 31 32 33 34 35 36 37 38 39 B3 DB 5D D9 DA 9F "CECP 277". 00 01 02 03 37 2D 2E 2F 16 05 25 0B 0C 0D 0E 0F 10 11 12 13 3C 3D 32 26 18 19 3F 27 1C 1D 1E 1F 40 4F 7F 4A 67 6C 50 7D 4D 5D 5C 4E 6B 60 4B 61 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F 80 C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6 D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 9E E0 9F 5F 6D 79 81 82 83 84 85 86 87 88 89 91 92 93 94 95 96 97 98 99 A2 A3 A4 A5 A6 A7 A8 A9 9C BB 47 DC 07 20 21 22 23 24 15 06 17 28 29 2A 2B 2C 09 0A 1B 30 31 1A 33 34 35 36 08 38 39 3A 3B 04 14 3E FF 41 AA B0 B1 5A B2 70 B5 BD B4 9A 8A BA CA AF BC 90 8F EA FA BE A0 B6 B3 9D DA 9B 8B B7 B8 B9 AB 64 65 62 66 63 5B 7B 68 74 71 72 73 78 75 76 77 AC 69 ED EE EB EF EC BF 7C FD FE FB FC AD AE 59 44 45 42 46 43 D0 C0 48 54 51 52 53 58 55 56 57 8C 49 CD CE CB CF CC E1 6A DD DE DB A1 8D 8E DF ---- inverted ---- 00 01 02 03 9C 09 86 7F 97 8D 8E 0B 0C 0D 0E 0F 10 11 12 13 9D 85 08 87 18 19 92 8F 1C 1D 1E 1F 80 81 82 83 84 0A 17 1B 88 89 8A 8B 8C 05 06 07 90 91 16 93 94 95 96 04 98 99 9A 9B 14 15 9E 1A 20 A0 E2 E4 E0 E1 E3 7D E7 F1 23 2E 3C 28 2B 21 26 E9 EA EB E8 ED EE EF EC DF A4 C5 2A 29 3B 5E 2D 2F C2 C4 C0 C1 C3 24 C7 D1 F8 2C 25 5F 3E 3F A6 C9 CA CB C8 CD CE CF CC 60 3A C6 D8 27 3D 22 40 61 62 63 64 65 66 67 68 69 AB BB F0 FD FE B1 B0 6A 6B 6C 6D 6E 6F 70 71 72 AA BA 7B B8 5B 5D B5 FC 73 74 75 76 77 78 79 7A A1 BF D0 DD DE AE A2 A3 A5 B7 A9 A7 B6 BC BD BE AC 7C AF A8 B4 D7 E6 41 42 43 44 45 46 47 48 49 AD F4 F6 F2 F3 F5 E5 4A 4B 4C 4D 4E 4F 50 51 52 B9 FB 7E F9 FA FF 5C F7 53 54 55 56 57 58 59 5A B2 D4 D6 D2 D3 D5 30 31 32 33 34 35 36 37 38 39 B3 DB DC D9 DA 9F "CECP 278". 00 01 02 03 37 2D 2E 2F 16 05 25 0B 0C 0D 0E 0F 10 11 12 13 3C 3D 32 26 18 19 3F 27 1C 1D 1E 1F 40 4F 7F 63 67 6C 50 7D 4D 5D 5C 4E 6B 60 4B 61 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F EC C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6 D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 B5 71 9F 5F 6D 51 81 82 83 84 85 86 87 88 89 91 92 93 94 95 96 97 98 99 A2 A3 A4 A5 A6 A7 A8 A9 43 BB 47 DC 07 20 21 22 23 24 15 06 17 28 29 2A 2B 2C 09 0A 1B 30 31 1A 33 34 35 36 08 38 39 3A 3B 04 14 3E FF 41 AA B0 B1 5A B2 CC 4A BD B4 9A 8A BA CA AF BC 90 8F EA FA BE A0 B6 B3 9D DA 9B 8B B7 B8 B9 AB 64 65 62 66 7B 5B 9E 68 74 E0 72 73 78 75 76 77 AC 69 ED EE EB EF 7C BF 80 FD FE FB FC AD AE 59 44 45 42 46 C0 D0 9C 48 54 79 52 53 58 55 56 57 8C 49 CD CE CB CF 6A E1 70 DD DE DB A1 8D 8E DF ---- inverted ---- 00 01 02 03 9C 09 86 7F 97 8D 8E 0B 0C 0D 0E 0F 10 11 12 13 9D 85 08 87 18 19 92 8F 1C 1D 1E 1F 80 81 82 83 84 0A 17 1B 88 89 8A 8B 8C 05 06 07 90 91 16 93 94 95 96 04 98 99 9A 9B 14 15 9E 1A 20 A0 E2 7B E0 E1 E3 7D E7 F1 A7 2E 3C 28 2B 21 26 60 EA EB E8 ED EE EF EC DF A4 C5 2A 29 3B 5E 2D 2F C2 23 C0 C1 C3 24 C7 D1 F6 2C 25 5F 3E 3F F8 5C CA CB C8 CD CE CF CC E9 3A C4 D6 27 3D 22 D8 61 62 63 64 65 66 67 68 69 AB BB F0 FD FE B1 B0 6A 6B 6C 6D 6E 6F 70 71 72 AA BA E6 B8 C6 5D B5 FC 73 74 75 76 77 78 79 7A A1 BF D0 DD DE AE A2 A3 A5 B7 A9 5B B6 BC BD BE AC 7C AF A8 B4 D7 E4 41 42 43 44 45 46 47 48 49 AD F4 A6 F2 F3 F5 E5 4A 4B 4C 4D 4E 4F 50 51 52 B9 FB 7E F9 FA FF C9 F7 53 54 55 56 57 58 59 5A B2 D4 40 D2 D3 D5 30 31 32 33 34 35 36 37 38 39 B3 DB DC D9 DA 9F "CECP 280". 00 01 02 03 37 2D 2E 2F 16 05 25 0B 0C 0D 0E 0F 10 11 12 13 3C 3D 32 26 18 19 3F 27 1C 1D 1E 1F 40 4F 7F B1 5B 6C 50 7D 4D 5D 5C 4E 6B 60 4B 61 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F B5 C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6 D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 90 48 51 5F 6D DD 81 82 83 84 85 86 87 88 89 91 92 93 94 95 96 97 98 99 A2 A3 A4 A5 A6 A7 A8 A9 44 BB 54 58 07 20 21 22 23 24 15 06 17 28 29 2A 2B 2C 09 0A 1B 30 31 1A 33 34 35 36 08 38 39 3A 3B 04 14 3E FF 41 AA B0 7B 9F B2 CD 7C BD B4 9A 8A BA CA AF BC 4A 8F EA FA BE A0 B6 B3 9D DA 9B 8B B7 B8 B9 AB 64 65 62 66 63 67 9E 68 74 71 72 73 78 75 76 77 AC 69 ED EE EB EF EC BF 80 FD FE FB FC AD AE 59 C0 45 42 46 43 47 9C E0 D0 5A 52 53 A1 55 56 57 8C 49 6A CE CB CF CC E1 70 79 DE DB DC 8D 8E DF ---- inverted ---- 00 01 02 03 9C 09 86 7F 97 8D 8E 0B 0C 0D 0E 0F 10 11 12 13 9D 85 08 87 18 19 92 8F 1C 1D 1E 1F 80 81 82 83 84 0A 17 1B 88 89 8A 8B 8C 05 06 07 90 91 16 93 94 95 96 04 98 99 9A 9B 14 15 9E 1A 20 A0 E2 E4 7B E1 E3 E5 5C F1 B0 2E 3C 28 2B 21 26 5D EA EB 7D ED EE EF 7E DF E9 24 2A 29 3B 5E 2D 2F C2 C4 C0 C1 C3 C5 C7 D1 F2 2C 25 5F 3E 3F F8 C9 CA CB C8 CD CE CF CC F9 3A A3 A7 27 3D 22 D8 61 62 63 64 65 66 67 68 69 AB BB F0 FD FE B1 5B 6A 6B 6C 6D 6E 6F 70 71 72 AA BA E6 B8 C6 A4 B5 EC 73 74 75 76 77 78 79 7A A1 BF D0 DD DE AE A2 23 A5 B7 A9 40 B6 BC BD BE AC 7C AF A8 B4 D7 E0 41 42 43 44 45 46 47 48 49 AD F4 F6 A6 F3 F5 E8 4A 4B 4C 4D 4E 4F 50 51 52 B9 FB FC 60 FA FF E7 F7 53 54 55 56 57 58 59 5A B2 D4 D6 D2 D3 D5 30 31 32 33 34 35 36 37 38 39 B3 DB DC D9 DA 9F "CECP 284". 00 01 02 03 37 2D 2E 2F 16 05 25 0B 0C 0D 0E 0F 10 11 12 13 3C 3D 32 26 18 19 3F 27 1C 1D 1E 1F 40 BB 7F 69 5B 6C 50 7D 4D 5D 5C 4E 6B 60 4B 61 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F 7C C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6 D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 4A E0 5A BA 6D 79 81 82 83 84 85 86 87 88 89 91 92 93 94 95 96 97 98 99 A2 A3 A4 A5 A6 A7 A8 A9 C0 4F D0 BD 07 20 21 22 23 24 15 06 17 28 29 2A 2B 2C 09 0A 1B 30 31 1A 33 34 35 36 08 38 39 3A 3B 04 14 3E FF 41 AA B0 B1 9F B2 49 B5 A1 B4 9A 8A 5F CA AF BC 90 8F EA FA BE A0 B6 B3 9D DA 9B 8B B7 B8 B9 AB 64 65 62 66 63 67 9E 68 74 71 72 73 78 75 76 77 AC 7B ED EE EB EF EC BF 80 FD FE FB FC AD AE 59 44 45 42 46 43 47 9C 48 54 51 52 53 58 55 56 57 8C 6A CD CE CB CF CC E1 70 DD DE DB DC 8D 8E DF ---- inverted ---- 00 01 02 03 9C 09 86 7F 97 8D 8E 0B 0C 0D 0E 0F 10 11 12 13 9D 85 08 87 18 19 92 8F 1C 1D 1E 1F 80 81 82 83 84 0A 17 1B 88 89 8A 8B 8C 05 06 07 90 91 16 93 94 95 96 04 98 99 9A 9B 14 15 9E 1A 20 A0 E2 E4 E0 E1 E3 E5 E7 A6 5B 2E 3C 28 2B 7C 26 E9 EA EB E8 ED EE EF EC DF 5D 24 2A 29 3B AC 2D 2F C2 C4 C0 C1 C3 C5 C7 23 F1 2C 25 5F 3E 3F F8 C9 CA CB C8 CD CE CF CC 60 3A D1 40 27 3D 22 D8 61 62 63 64 65 66 67 68 69 AB BB F0 FD FE B1 B0 6A 6B 6C 6D 6E 6F 70 71 72 AA BA E6 B8 C6 A4 B5 A8 73 74 75 76 77 78 79 7A A1 BF D0 DD DE AE A2 A3 A5 B7 A9 A7 B6 BC BD BE 5E 21 AF 7E B4 D7 7B 41 42 43 44 45 46 47 48 49 AD F4 F6 F2 F3 F5 7D 4A 4B 4C 4D 4E 4F 50 51 52 B9 FB FC F9 FA FF 5C F7 53 54 55 56 57 58 59 5A B2 D4 D6 D2 D3 D5 30 31 32 33 34 35 36 37 38 39 B3 DB DC D9 DA 9F "CECP 285". 00 01 02 03 37 2D 2E 2F 16 05 25 0B 0C 0D 0E 0F 10 11 12 13 3C 3D 32 26 18 19 3F 27 1C 1D 1E 1F 40 5A 7F 7B 4A 6C 50 7D 4D 5D 5C 4E 6B 60 4B 61 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F 7C C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6 D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 B1 E0 BB BA 6D 79 81 82 83 84 85 86 87 88 89 91 92 93 94 95 96 97 98 99 A2 A3 A4 A5 A6 A7 A8 A9 C0 4F D0 BC 07 20 21 22 23 24 15 06 17 28 29 2A 2B 2C 09 0A 1B 30 31 1A 33 34 35 36 08 38 39 3A 3B 04 14 3E FF 41 AA B0 5B 9F B2 6A B5 BD B4 9A 8A 5F CA AF A1 90 8F EA FA BE A0 B6 B3 9D DA 9B 8B B7 B8 B9 AB 64 65 62 66 63 67 9E 68 74 71 72 73 78 75 76 77 AC 69 ED EE EB EF EC BF 80 FD FE FB FC AD AE 59 44 45 42 46 43 47 9C 48 54 51 52 53 58 55 56 57 8C 49 CD CE CB CF CC E1 70 DD DE DB DC 8D 8E DF ---- inverted ---- 00 01 02 03 9C 09 86 7F 97 8D 8E 0B 0C 0D 0E 0F 10 11 12 13 9D 85 08 87 18 19 92 8F 1C 1D 1E 1F 80 81 82 83 84 0A 17 1B 88 89 8A 8B 8C 05 06 07 90 91 16 93 94 95 96 04 98 99 9A 9B 14 15 9E 1A 20 A0 E2 E4 E0 E1 E3 E5 E7 F1 24 2E 3C 28 2B 7C 26 E9 EA EB E8 ED EE EF EC DF 21 A3 2A 29 3B AC 2D 2F C2 C4 C0 C1 C3 C5 C7 D1 A6 2C 25 5F 3E 3F F8 C9 CA CB C8 CD CE CF CC 60 3A 23 40 27 3D 22 D8 61 62 63 64 65 66 67 68 69 AB BB F0 FD FE B1 B0 6A 6B 6C 6D 6E 6F 70 71 72 AA BA E6 B8 C6 A4 B5 AF 73 74 75 76 77 78 79 7A A1 BF D0 DD DE AE A2 5B A5 B7 A9 A7 B6 BC BD BE 5E 5D 7E A8 B4 D7 7B 41 42 43 44 45 46 47 48 49 AD F4 F6 F2 F3 F5 7D 4A 4B 4C 4D 4E 4F 50 51 52 B9 FB FC F9 FA FF 5C F7 53 54 55 56 57 58 59 5A B2 D4 D6 D2 D3 D5 30 31 32 33 34 35 36 37 38 39 B3 DB DC D9 DA 9F "CECP 297". 00 01 02 03 37 2D 2E 2F 16 05 25 0B 0C 0D 0E 0F 10 11 12 13 3C 3D 32 26 18 19 3F 27 1C 1D 1E 1F 40 4F 7F B1 5B 6C 50 7D 4D 5D 5C 4E 6B 60 4B 61 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F 44 C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6 D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 90 48 B5 5F 6D A0 81 82 83 84 85 86 87 88 89 91 92 93 94 95 96 97 98 99 A2 A3 A4 A5 A6 A7 A8 A9 51 BB 54 BD 07 20 21 22 23 24 15 06 17 28 29 2A 2B 2C 09 0A 1B 30 31 1A 33 34 35 36 08 38 39 3A 3B 04 14 3E FF 41 AA B0 7B 9F B2 DD 5A A1 B4 9A 8A BA CA AF BC 4A 8F EA FA BE 79 B6 B3 9D DA 9B 8B B7 B8 B9 AB 64 65 62 66 63 67 9E 68 74 71 72 73 78 75 76 77 AC 69 ED EE EB EF EC BF 80 FD FE FB FC AD AE 59 7C 45 42 46 43 47 9C E0 D0 C0 52 53 58 55 56 57 8C 49 CD CE CB CF CC E1 70 6A DE DB DC 8D 8E DF ---- inverted ---- 00 01 02 03 9C 09 86 7F 97 8D 8E 0B 0C 0D 0E 0F 10 11 12 13 9D 85 08 87 18 19 92 8F 1C 1D 1E 1F 80 81 82 83 84 0A 17 1B 88 89 8A 8B 8C 05 06 07 90 91 16 93 94 95 96 04 98 99 9A 9B 14 15 9E 1A 20 A0 E2 E4 40 E1 E3 E5 5C F1 B0 2E 3C 28 2B 21 26 7B EA EB 7D ED EE EF EC DF A7 24 2A 29 3B 5E 2D 2F C2 C4 C0 C1 C3 C5 C7 D1 F9 2C 25 5F 3E 3F F8 C9 CA CB C8 CD CE CF CC B5 3A A3 E0 27 3D 22 D8 61 62 63 64 65 66 67 68 69 AB BB F0 FD FE B1 5B 6A 6B 6C 6D 6E 6F 70 71 72 AA BA E6 B8 C6 A4 60 A8 73 74 75 76 77 78 79 7A A1 BF D0 DD DE AE A2 23 A5 B7 A9 5D B6 BC BD BE AC 7C AF 7E B4 D7 E9 41 42 43 44 45 46 47 48 49 AD F4 F6 F2 F3 F5 E8 4A 4B 4C 4D 4E 4F 50 51 52 B9 FB FC A6 FA FF E7 F7 53 54 55 56 57 58 59 5A B2 D4 D6 D2 D3 D5 30 31 32 33 34 35 36 37 38 39 B3 DB DC D9 DA 9F "CECP 500". 00 01 02 03 37 2D 2E 2F 16 05 25 0B 0C 0D 0E 0F 10 11 12 13 3C 3D 32 26 18 19 3F 27 1C 1D 1E 1F 40 4F 7F 7B 5B 6C 50 7D 4D 5D 5C 4E 6B 60 4B 61 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F 7C C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6 D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 4A E0 5A 5F 6D 79 81 82 83 84 85 86 87 88 89 91 92 93 94 95 96 97 98 99 A2 A3 A4 A5 A6 A7 A8 A9 C0 BB D0 A1 07 20 21 22 23 24 15 06 17 28 29 2A 2B 2C 09 0A 1B 30 31 1A 33 34 35 36 08 38 39 3A 3B 04 14 3E FF 41 AA B0 B1 9F B2 6A B5 BD B4 9A 8A BA CA AF BC 90 8F EA FA BE A0 B6 B3 9D DA 9B 8B B7 B8 B9 AB 64 65 62 66 63 67 9E 68 74 71 72 73 78 75 76 77 AC 69 ED EE EB EF EC BF 80 FD FE FB FC AD AE 59 44 45 42 46 43 47 9C 48 54 51 52 53 58 55 56 57 8C 49 CD CE CB CF CC E1 70 DD DE DB DC 8D 8E DF ---- inverted ---- 00 01 02 03 9C 09 86 7F 97 8D 8E 0B 0C 0D 0E 0F 10 11 12 13 9D 85 08 87 18 19 92 8F 1C 1D 1E 1F 80 81 82 83 84 0A 17 1B 88 89 8A 8B 8C 05 06 07 90 91 16 93 94 95 96 04 98 99 9A 9B 14 15 9E 1A 20 A0 E2 E4 E0 E1 E3 E5 E7 F1 5B 2E 3C 28 2B 21 26 E9 EA EB E8 ED EE EF EC DF 5D 24 2A 29 3B 5E 2D 2F C2 C4 C0 C1 C3 C5 C7 D1 A6 2C 25 5F 3E 3F F8 C9 CA CB C8 CD CE CF CC 60 3A 23 40 27 3D 22 D8 61 62 63 64 65 66 67 68 69 AB BB F0 FD FE B1 B0 6A 6B 6C 6D 6E 6F 70 71 72 AA BA E6 B8 C6 A4 B5 7E 73 74 75 76 77 78 79 7A A1 BF D0 DD DE AE A2 A3 A5 B7 A9 A7 B6 BC BD BE AC 7C AF A8 B4 D7 7B 41 42 43 44 45 46 47 48 49 AD F4 F6 F2 F3 F5 7D 4A 4B 4C 4D 4E 4F 50 51 52 B9 FB FC F9 FA FF 5C F7 53 54 55 56 57 58 59 5A B2 D4 D6 D2 D3 D5 30 31 32 33 34 35 36 37 38 39 B3 DB DC D9 DA 9F IBM PC Because only code page 850 contains all the characters of ISO 8859- 1, it seems reasonable to require that the PC use code page 850 during terminal mode. If it uses another code page instead, many international characters will still be readable. Here are the invertible translations of PC codepages from/to ISO 8859-1. They are deduced from Communication Manager so that, when combined with the CECP tables above, the compound table produces the same translation. The same remark applies to the the otherwise undetermined translation of the 80-A0 range of ISO 8859-1. "IBM PC code page 850" 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F C4 B3 C0 D9 BF DA C3 C1 B4 C2 C5 B0 B1 B2 D5 F2 CD BA C8 BC BB C9 CC CA B9 CB CE DF DC DB FE 9F FF AD BD 9C CF BE DD F5 F9 B8 A6 AE AA F0 A9 EE F8 F1 FD FC EF E6 F4 FA F7 FB A7 AF AC AB F3 A8 B7 B5 B6 C7 8E 8F 92 80 D4 90 D2 D3 DE D6 D7 D8 D1 A5 E3 E0 E2 E5 99 9E 9D EB E9 EA 9A ED E8 E1 85 A0 83 C6 84 86 91 87 8A 82 88 89 8D A1 8C 8B D0 A4 95 A2 93 E4 94 F6 9B 97 A3 96 81 EC E7 98 ---- inverted ---- 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F C7 FC E9 E2 E4 E0 E5 E7 EA EB E8 EF EE EC C4 C5 C9 E6 C6 F4 F6 F2 FB F9 FF D6 DC F8 A3 D8 D7 9F E1 ED F3 FA F1 D1 AA BA BF AE AC BD BC A1 AB BB 8B 8C 8D 81 88 C1 C2 C0 A9 98 91 94 93 A2 A5 84 82 87 89 86 80 8A E3 C3 92 95 97 99 96 90 9A A4 F0 D0 CA CB C8 8E CD CE CF 83 85 9D 9C A6 CC 9B D3 DF D4 D2 F5 D5 B5 FE DE DA DB D9 FD DD AF B4 AD B1 8F BE B6 A7 F7 B8 B0 A8 B7 B9 B3 B2 9E A0 "IBM PC code page 437" 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 B0 B1 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F B7 B8 B9 BB C4 C5 CA CB CC CD CF D0 D1 D2 D3 D8 D9 DA DC DD DE DF E0 E2 E3 E5 E9 EB EC EF 9E C9 FF AD 9B 9C A9 9D B3 15 FE 9F A6 AE AA E8 D7 E4 F8 F1 FD DB BF E6 14 FA CE EE A7 AF AC AB FC A8 B4 B5 B2 B6 8E 8F 92 80 BE 90 BC BD C2 F3 C0 C1 D4 A5 F7 F0 F5 F9 99 E7 C3 F4 EA FB 9A D5 D6 E1 85 A0 83 F2 84 86 91 87 8A 82 88 89 8D A1 8C 8B C6 A4 95 A2 93 ED 94 F6 BA 97 A3 96 81 C7 C8 98 ---- inverted ---- 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 B6 A7 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F C7 FC E9 E2 E4 E0 E5 E7 EA EB E8 EF EE EC C4 C5 C9 E6 C6 F4 F6 F2 FB F9 FF D6 DC A2 A3 A5 9E A9 E1 ED F3 FA F1 D1 AA BA BF A4 AC BD BC A1 AB BB 14 15 C2 A6 C0 C1 C3 80 81 82 F8 83 CA CB C8 B4 CE CF CC D8 84 85 F0 FD FE 9F 86 87 88 89 B8 8A 8B 8C 8D 8E D0 DD DE AE 8F 90 91 B3 92 93 94 95 96 DF 97 98 AF 99 B5 D7 AD 9A DA 9B 9C F5 B9 9D D3 B1 E3 CD D9 D4 F7 D2 B0 D5 B7 DB BE B2 A8 A0 "IBM PC code page 860" 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 F4 F5 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F C4 B3 C0 D9 BF DA C3 C1 B4 C2 C5 B0 B1 B2 D5 F2 CD BA C8 BC BB C9 CC CA B9 CB CE DF DC DB FE EF FF AD 9B 9C CF BE E4 15 F9 B8 A6 AE AA F0 E0 EE F8 F1 FD FC E3 E6 14 FA F7 FB A7 AF AC AB F3 A8 91 86 8F 8E C7 D2 DE 80 92 90 89 D3 98 8B D7 D8 D1 A5 A9 9F 8C 99 EB 9E D6 9D 96 EA 9A ED E8 E1 85 A0 83 84 B5 B6 DD 87 8A 82 88 B7 8D A1 BD C6 D0 A4 95 A2 93 94 E2 F6 D4 97 A3 E5 81 EC E7 E9 ---- inverted ---- 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 B6 A7 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F C7 FC E9 E2 E3 E0 C1 E7 EA CA E8 CD D4 EC C3 C2 C9 C0 C8 F4 F5 F2 DA F9 CC D5 DC A2 A3 D9 D7 D3 E1 ED F3 FA F1 D1 AA BA BF D2 AC BD BC A1 AB BB 8B 8C 8D 81 88 E4 E5 EB A9 98 91 94 93 EE A5 84 82 87 89 86 80 8A EF C4 92 95 97 99 96 90 9A A4 F0 D0 C5 CB F8 8E D8 CE CF 83 85 9D 9C E6 C6 9B AE DF F6 B4 A6 FB B5 FE DE FF DB D6 FD DD AF 9F AD B1 8F BE 14 15 F7 B8 B0 A8 B7 B9 B3 B2 9E A0 "IBM PC code page 863" 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F C4 B3 C0 D9 BF DA C3 C1 B4 C2 C5 B0 B1 B2 D5 F2 CD BA C8 BC BB C9 CC CA B9 CB CE DF DC DB FE 9F FF EF 9B 9C 98 BE A0 8F A4 B8 E2 AE AA F0 A9 A7 F8 F1 FD A6 A1 E6 86 FA A5 FB EA AF AC AB AD F3 8E B5 84 C7 D3 D4 EE 80 91 90 92 94 DE D6 A8 95 D1 D7 E3 E0 99 E5 FC F4 DD 9D E9 9E 9A ED E8 E1 85 B7 83 C6 B6 BD EB 87 8A 82 88 89 8D D2 8C 8B D0 CF F7 A2 93 E4 F5 F6 D8 97 A3 96 81 EC E7 F9 ---- inverted ---- 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F C7 FC E9 E2 C2 E0 B6 E7 EA EB E8 EF EE EC C0 A7 C9 C8 CA F4 CB CF FB F9 A4 D4 DC A2 A3 D9 DB 9F A6 B4 F3 FA A8 B8 B3 AF CE AE AC BD BC BE AB BB 8B 8C 8D 81 88 C1 E4 E1 A9 98 91 94 93 E5 A5 84 82 87 89 86 80 8A E3 C3 92 95 97 99 96 90 9A F1 F0 D0 ED C4 C5 8E CD D1 F8 83 85 9D 9C D8 CC 9B D3 DF AA D2 F5 D5 B5 FE DE DA BA E6 FD DD C6 A1 AD B1 8F BF D7 F6 F7 F2 B0 FF B7 B9 D6 B2 9E A0 "IBM PC code page 865" 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 F4 F5 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F C4 B3 C0 D9 BF DA C3 C1 B4 C2 C5 B0 B1 B2 D5 F2 CD BA C8 BC BB C9 CC CA B9 CB CE DF DC DB FE 9F FF AD BD 9C AF BE DD 15 F9 B8 A6 AE AA F0 A9 EE F8 F1 FD FC EF E6 14 FA F7 FB A7 CF AC AB F3 A8 B7 B5 B6 C7 8E 8F 92 80 D4 90 D2 D3 DE D6 D7 D8 D1 A5 E3 E0 E2 E5 99 9E 9D EB E9 EA 9A ED E8 E1 85 A0 83 C6 84 86 91 87 8A 82 88 89 8D A1 8C 8B D0 A4 95 A2 93 E4 94 F6 9B 97 A3 96 81 EC E7 98 ---- inverted ---- 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 B6 A7 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F C7 FC E9 E2 E4 E0 E5 E7 EA EB E8 EF EE EC C4 C5 C9 E6 C6 F4 F6 F2 FB F9 FF D6 DC F8 A3 D8 D7 9F E1 ED F3 FA F1 D1 AA BA BF AE AC BD BC A1 AB A4 8B 8C 8D 81 88 C1 C2 C0 A9 98 91 94 93 A2 A5 84 82 87 89 86 80 8A E3 C3 92 95 97 99 96 90 9A BB F0 D0 CA CB C8 8E CD CE CF 83 85 9D 9C A6 CC 9B D3 DF D4 D2 F5 D5 B5 FE DE DA DB D9 FD DD AF B4 AD B1 8F BE 14 15 F7 B8 B0 A8 B7 B9 B3 B2 9E A0 Apple Macintosh Paul Placeway and I have been looking for an official translation table by Apple Inc. that would fulfill the data processing requirement of being invertible for the 256 code points. We found none, and Apple remained silent to this request. So, I've had to build one. I tried to make it compatible with existing translation tables, mainly the official "Apple File Exchange" from Apple Inc. that translates between IBM PC code and Apple's (hence, indirectly to ISO 8859-1). Many characters of the Apple fonts belong to ISO 8859-1 and caused no problem. The translation of some characters became incompatible, because the "Apple File Exchange" is homographic, which fails to be invertible (e. g. 2 superscript translates to plain 2). Others, because the AFE is based on IBM PC 437 that contains some characters of the Macintosh set that have been replaced (giving IBM PC code page 850) with characters of ISO 8859-1. (For example, it matched Mac Omega to a 437 Omega that became a 850 U circumflex that now has to match the Mac's F3.) Translations that remained undefined were chosen to be homographic or mnemonic. Leftovers from the 80-FF Mac range have simply be lined up in the 80-9F range of ISO 8859-1 without any particular reason. After the tables, you will find comments about the choices (why): Blank: compatible with AFE (same in both PC 437 and 850). S: not in 437/AFE, but ISO character is in "Standard Apple Character Set" E: same for "SACS with extensions". Means keyable on newer systems only. L: look-alike choice. M: mnemonic choice. C: "happens" to be compatible with AFE. A: arbitrary. "Standard Apple Macintosh Character Set with extensions" 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F A5 AA AD B0 B3 B7 BA BD C3 C5 C9 D1 D4 D9 DA DC DD E0 E2 E3 E4 F0 F6 F7 F9 FA FB FD FE FF F5 C4 CA C1 A2 A3 DB B4 A0 A4 AC A9 BB C7 C2 D0 A8 F8 A1 B1 D3 D2 AB B5 A6 E1 FC D5 BC C8 B9 B8 B2 C0 CB E7 E5 CC 80 81 AE 82 E9 83 E6 E8 ED EA EB EC C6 84 F1 EE EF CD 85 D7 AF F4 F2 F3 86 DF CE A7 88 87 89 8B 8A 8C BE 8D 8F 8E 90 91 93 92 94 95 B6 96 98 97 99 9B 9A D6 BF 9D 9C 9E 9F DE CF D8 ---- inverted ---- 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F C4 C5 C7 C9 D1 D6 DC E1 E0 E2 E4 E3 E5 E7 E9 E8 EA EB ED EC EE EF F1 F3 F2 F4 F6 F5 FA F9 FB FC A6 B0 A2 A3 A7 80 B6 DF AE A9 81 B4 A8 82 C6 D8 83 B1 BE 84 A5 B5 F0 85 BD BC 86 AA BA 87 E6 F8 BF A1 AC 88 9F 89 D0 AB BB 8A A0 C0 C3 D5 DE FE AD 8B B3 B2 8C B9 F7 D7 FF 8D 8E A4 8F 90 FD DD 91 B7 92 93 94 C2 CA C1 CB C8 CD CE CF CC D3 D4 95 D2 DA DB D9 9E 96 97 AF 98 99 9A B8 9B 9C 9D ISO Mac AFE 850 Why Mac name 80 | A5 | F0 | BA | A | bullet 81 | AA | F0 | CD | A | trade mark 82 | AD | F0 | C9 | A | not equal 83 | B0 | F0 | BB | A | infinity 84 | B3 | F0 | C8 | A | greater than or equal to 85 | B7 | F0 | BC | A | Uppercase Sigma (Summation) 86 | BA | F0 | CC | A | integral 87 | BD | F0 | B9 | A | Uppercase Omega 88 | C3 | F0 | CB | A | radical (square root) 89 | C5 | F0 | CA | A | approx equal 8A | C9 | F0 | CE | A | elipsis (...) 8B | D1 | F0 | DF | A | em dash 8C | D4 | F0 | DC | A | left singlequote ( ` ) 8D | D9 | F0 | DB | A | Y dieresis 8E | DA | F0 | FE | A | divide (a / with less slope) 8F | DC | B3 | F2 | A | single left guil (like < ) 90 | DD | F0 | B3 | A | single left guil (like > ) 91 | E0 | F0 | C4 | A | double dagger 92 | E2 | F0 | DA | A | baseline single close quote 93 | E3 | F0 | BF | A | baseline double close quote 94 | E4 | F0 | C0 | A | per thousand 95 | F0 | F0 | D9 | A | (closed) Apple 96 | F6 | F0 | C3 | A | circumflex 97 | F7 | F0 | B4 | A | tilde 98 | F9 | F0 | C2 | A | breve 99 | FA | F0 | C1 | A | dot accent 9A | FB | F0 | C5 | A | ring accent 9B | FD | F0 | B0 | A | Hungarian umlaut 9C | FE | F0 | B1 | A | ogonek 9D | FF | F0 | B2 | A | caron 9E | F5 | F0 | D5 | AL | dotless i 9F | C4 | C4 | 9F | AC | florin A0 | CA | FF | FF | AL | non-printing space A1 | C1 | C1 | AD | | inverted ! A2 | A2 | F0 | BD | S | cent A3 | A3 | A3 | 9C | | sterling A4 | DB | F0 | CF | E | generic curency A5 | B4 | F0 | BE | S | yen A6 | A0 | F0 | DD | AL | dagger A7 | A4 | BA | F5 | S | section A8 | AC | A5 | F9 | S | dieresis (AKA umlaut) A9 | A9 | F0 | B8 | | copyright ( (C) ) AA | BB | BB | A6 | | feminine ordinal AB | C7 | C7 | AE | | left guillemot (like << ) AC | C2 | C2 | AA | | logical not AD | D0 | 3D | F0 | AL | en dash AE | A8 | D1 | A9 | S | registered ( (R) ) AF | F8 | 45 | EE | AL | macron B0 | A1 | A1 | F8 | | superscript ring B1 | B1 | B1 | F1 | | plus minus B2 | D3 | 32 | FD | AM | right doublequote ( '' ) B3 | D2 | 6E | FC | AM | left doublequote ( `` ) B4 | AB | 55 | EF | S | acute accent B5 | B5 | B5 | E6 | | greek lowercase mu B6 | A6 | BA | F4 | S | paragraph B7 | E1 | E1 | FA | EC | centered (small) dot B8 | FC | C5 | F7 | E | cedilla B9 | D5 | C3 | FB | AM | right singlequote ( ' ) BA | BC | BC | A7 | | masculine ordinal BB | C8 | C8 | AF | | right guillemot (like >> ) BC | B9 | 34 | AC | A | lowercase pi BD | B8 | 32 | AB | A | Uppercase Pi (Power) BE | B2 | B2 | F3 | AC | less than or equal to BF | C0 | C0 | A8 | | inverted ? C0 | CB | F0 | B7 | S | A grave C1 | E7 | F0 | B5 | E | A accute C2 | E5 | F0 | B6 | E | A circumflex C3 | CC | F0 | C7 | S | A tilde C4 | 80 | 80 | 8E | | A dieresis C5 | 81 | 81 | 8F | | A ring C6 | AE | AE | 92 | | AE C7 | 82 | 82 | 80 | | C cedilla C8 | E9 | F0 | D4 | E | E grave C9 | 83 | 83 | 90 | | E accute CA | E6 | F0 | D2 | S | E circumflex CB | E8 | F0 | D3 | E | E dieresis CC | ED | F0 | DE | E | I grave CD | EA | F0 | D6 | E | I accute CE | EB | F0 | D7 | E | I circumflex CF | EC | F0 | D8 | E | I dieresis D0 | C6 | F0 | D1 | AL | Uppercase Delta D1 | 84 | 84 | A5 | | N tilde D2 | F1 | B9 | E3 | E | O grave D3 | EE | 61 | E0 | E | O accute D4 | EF | C2 | E2 | E | O circumflex D5 | CD | 6F | E5 | S | O tilde D6 | 85 | 85 | 99 | | O dieresis D7 | D7 | 50 | 9E | AM | lozenge (open diamond) D8 | AF | B4 | 9D | E | O slash D9 | F4 | B6 | EB | E | U grave DA | F2 | BC | E9 | E | U accute DB | F3 | BD | EA | E | U circumflex DC | 86 | 86 | 9A | | U dieresis DD | DF | AF | ED | AM | fl DE | CE | DB | E8 | AL | OE DF | A7 | A7 | E1 | | Es-zed (German double s) E0 | 88 | 88 | 85 | | a grave E1 | 87 | 87 | A0 | | a accute E2 | 89 | 89 | 83 | | a circumflex E3 | 8B | F0 | C6 | S | a tilde E4 | 8A | 8A | 84 | | a dieresis E5 | 8C | 8C | 86 | | a ring E6 | BE | BE | 91 | | ae E7 | 8D | 8D | 87 | | c cedilla E8 | 8F | 8F | 8A | | e grave E9 | 8E | 8E | 82 | | e accute EA | 90 | 90 | 88 | | e circumflex EB | 91 | 91 | 89 | | e dieresis EC | 93 | 93 | 8D | | i grave ED | 92 | 92 | A1 | | i accute EE | 94 | 94 | 8C | | i circumflex EF | 95 | 95 | 8B | | i dieresis F0 | B6 | F0 | D0 | AL | partial F1 | 96 | 96 | A4 | | n tilde F2 | 98 | 98 | 95 | | o grave F3 | 97 | 97 | A2 | | o accute F4 | 99 | 99 | 93 | | o circumflex F5 | 9B | B7 | E4 | S | o tilde F6 | 9A | 9A | 94 | | o dieresis F7 | D6 | D6 | F6 | | divide F8 | BF | A2 | 9B | S | o slash F9 | 9D | 9D | 97 | | u grave FA | 9C | 9C | A3 | | u accute FB | 9E | 9E | 96 | | u circumflex FC | 9F | 9F | 81 | | u dieresis FD | DE | B0 | EC | AM | fi FE | CF | A0 | E7 | AM | oe FF | D8 | D8 | 98 | | y dieresis ISO 8859-1 Here is a names list and graphic representation of the ISO 8859-1 code. The well-known ASCII part and control characters have been left out to shorten the text. They are included for practical programming help only. In particular, the "bitmaps" are nothing official. For convenience, two lists of names and acronyms are given: the first comes from IBM, the second from a list of characters of the standard IS0 6937. Code point in hexadecimal / Acronym / Name. Origin: IBM. A0 | SP30 | required space D0 | LD62 | Eth islandic capital A1 | SP03 | exclamation point inv D1 | LN20 | N tilde capital A2 | SC04 | cent sign D2 | LO14 | O grave capital A3 | SC02 | pound sign D3 | LO12 | O acute capital A4 | SC01 | int. currency symbol D4 | LO16 | O circumflex capital A5 | SC05 | Yen sign D5 | LO20 | O tilde capital A6 | SM65 | Vertical Line, Broken D6 | LO18 | O diaeresis capital A7 | SM24 | section/paragraph symb D7 | SA07 | Multiply sign A8 | SD17 | diaeresis,umlaut acc D8 | LO62 | O slash capital A9 | SM52 | Copyright sign D9 | LU14 | U grave capital AA | SM21 | ordinal indicator fem DA | LU12 | U acute capital AB | SP17 | left angle quotes DB | LU16 | U circumflex capital AC | SM66 | logical NOT, EOL symb DC | LU18 | U diaeresis capital AD | SP32 | Syllabe Hyphen DD | LY12 | Y acute Capital AE | SM53 | Regist.Trade Mark sym DE | LT64 | Thorn islandic capital AF | SM15 | overline DF | LS61 | sharp s small B0 | SM19 | Degree Symbol E0 | LA13 | a grave small B1 | SA02 | plus or minus sign E1 | LA11 | a acute small B2 | ND021| 2 superscript E2 | LA15 | a circumflex small B3 | ND031| 3 superscript E3 | LA19 | a tilde small B4 | SD11 | acute accent E4 | LA17 | a diaeresis small B5 | SM17 | micro symbol E5 | LA27 | a overcircle small B6 | SM25 | paragraph symbol USA E6 | LA51 | ae diphthong small B7 | SD63 | Middle dot accent E7 | LC41 | c cedilla small B8 | SD41 | cedilla accent E8 | LE13 | e grave small B9 | ND011| 1 superscript E9 | LE11 | e acute small BA | SM20 | ordinal indicator mas EA | LE15 | e circumflex small BB | SP18 | right angle quotes EB | LE17 | e diaeresis small BC | NF04 | one quarter EC | LI13 | i grave small BD | NF01 | one half ED | LI11 | i acute small BE | NF05 | three quarters EE | LI15 | i circumflex small BF | SP16 | Question mark inverted EF | LI17 | i diaeresis small C0 | LA14 | A grave capital F0 | LD63 | Eth Islandic small C1 | LA12 | A acute capital F1 | LN19 | n tilde small C2 | LA16 | A circumflex capital F2 | LO13 | o grave small C3 | LA20 | A tilde capital F3 | LO11 | o acute small C4 | LA18 | A diaeresis capital F4 | LO15 | o circumflex small C5 | LA28 | A overcircle capital F5 | LO19 | o tilde small C6 | LA52 | AE diphthong capital F6 | LO17 | o diaeresis small C7 | LC42 | C cedilla capital F7 | SA06 | Divide sign C8 | LE14 | E grave capital F8 | LO61 | o slash small C9 | LE12 | E acute capital F9 | LU13 | u grave small CA | LE16 | E circumflex capital FA | LU11 | u acute small CB | LE18 | E diaeresis capital FB | LU15 | u circumflex small CC | LI14 | I grave capital FC | LU17 | u diaeresis small CD | LI12 | I acute capital FD | LY11 | y acute small CE | LI16 | I circumflex capital FE | LT63 | Thorn islandic small CF | LI18 | I diaeresis capital FF | LY17 | y diaeresis small Names and slightly different acronyms from the ISO 6937 repertoire A0 SP31 NO-BREAK SPACE A1 SP03 INVERTED EXCLAMATION MARK A2 SC04 CENT SIGN A3 SC02 POUND SIGN A4 SC01 CURRENCY SIGN A5 SC05 YEN SIGN A6 SM65 BROKEN BAR A7 SM24 PARAGRAPH SIGN A8 SD17 DIAERESIS A9 SM52 COPYRIGHT SIGN AA SM21 FEMININE ORDINAL INDICATOR AB SP17 LEFT POINTING DOUBLE ANGLE QUOTATION MARK AC SM66 NOT SIGN AD SP32 SOFT HYPHEN AE SM53 REGISTERED TRADE MARK SIGN AF SD31 MACRON B0 SM19 DEGREE SIGN B1 SA02 PLUS-MINUS SIGN B2 NS02 SUPERSCRIPT TWO B3 NS03 SUPERSCRIPT THREE B4 SD11 ACUTE ACCENT B5 SM17 MICRO SIGN B6 SM25 PILCHROW SIGN B7 SM26 MIDDLE DOT B8 SD41 CEDILLA B9 NS01 SUPERSCRIPT ONE BA SM20 MASCULINE ORDINAL INDICATOR BB SP18 RIGHT POINTING DOUBLE ANGLE QUOTATION MARK BC NF04 VULGAR FRACTION ONE-QUARTER BD NF01 VULGAR FRACTION ONE-HALF BE NF05 VULGAR FRACTION THREE-QUARTERS BF SP16 INVERTED QUESTION MARK C0 LA14 LATIN CAPITAL LETTER A WITH GRAVE ACCENT C1 LA12 LATIN CAPITAL LETTER A WITH ACUTE ACCENT C2 LA16 LATIN CAPITAL LETTER A WITH CIRCUMFLEX ACCENT C3 LA20 LATIN CAPITAL LETTER A WITH TILDE C4 LA18 LATIN CAPITAL LETTER A WITH DIAERESIS C5 LA28 LATIN CAPITAL LETTER A WITH RING ABOVE C6 LA52 LATIN CAPITAL LIGATURE AE C7 LC42 LATIN CAPITAL LETTER C WITH CEDILLA C8 LE14 LATIN CAPITAL LETTER E WITH GRAVE ACCENT C9 LE12 LATIN CAPITAL LETTER E WITH ACUTE ACCENT CA LE16 LATIN CAPITAL LETTER E WITH CIRCUMFLEX ACCENT CB LE18 LATIN CAPITAL LETTER E WITH DIAERESIS CC LI14 LATIN CAPITAL LETTER I WITH GRAVE ACCENT CD LI12 LATIN CAPITAL LETTER I WITH ACUTE ACCENT CE LI16 LATIN CAPITAL LETTER I WITH CIRCUMFLEX ACCENT CF LI18 LATIN CAPITAL LETTER I WITH DIAERESIS D0 LD62 LATIN CAPITAL LETTER D WITH STROKE D1 LN20 LATIN CAPITAL LETTER N WITH TILDE D2 LO14 LATIN CAPITAL LETTER O WITH GRAVE ACCENT D3 LO12 LATIN CAPITAL LETTER O WITH ACUTE ACCENT D4 LO16 LATIN CAPITAL LETTER O WITH CIRCUMFLEX ACCENT D5 LO20 LATIN CAPITAL LETTER O WITH TILDE D6 LO18 LATIN CAPITAL LETTER O WITH DIAERESIS D7 SA07 MULTIPLICATION SIGN D8 LO62 LATIN CAPITAL LETTER O WITH OBLIQUE STROKE D9 LU14 LATIN CAPITAL LETTER U WITH GRAVE ACCENT DA LU12 LATIN CAPITAL LETTER U WITH ACUTE ACCENT DB LU16 LATIN CAPITAL LETTER U WITH CIRCUMFLEX ACCENT DC LU18 LATIN CAPITAL LETTER U WITH DIAERESIS DD LY12 LATIN CAPITAL LETTER Y WITH ACUTE ACCENT DE LT64 LATIN CAPITAL LETTER ICELANDIC THORN DF LS61 LATIN SMALL LETTER GERMAN SHARP S E0 LA13 LATIN SMALL LETTER A WITH GRAVE ACCENT E1 LA11 LATIN SMALL LETTER A WITH ACUTE ACCENT E2 LA15 LATIN SMALL LETTER A WITH CIRCUMFLEX ACCENT E3 LA19 LATIN SMALL LETTER A WITH TILDE E4 LA17 LATIN SMALL LETTER A WITH DIAERESIS E5 LA27 LATIN SMALL LETTER A WITH RING ABOVE E6 LA51 LATIN SMALL LIGATURE AE E7 LC41 LATIN SMALL LETTER C WITH CEDILLA E8 LE13 LATIN SMALL LETTER E WITH GRAVE ACCENT E9 LE11 LATIN SMALL LETTER E WITH ACUTE ACCENT EA LE15 LATIN SMALL LETTER E WITH CIRCUMFLEX ACCENT EB LE17 LATIN SMALL LETTER E WITH DIAERESIS EC LI13 LATIN SMALL LETTER I WITH GRAVE ACCENT ED LI11 LATIN SMALL LETTER I WITH ACUTE ACCENT EE LI15 LATIN SMALL LETTER I WITH CIRCUMFLEX ACCENT EF LI17 LATIN SMALL LETTER I WITH DIAERESIS F0 LD63 LATIN SMALL LETTER ICELANDIC ETH F1 LN19 LATIN SMALL LETTER N WITH TILDE F2 LO13 LATIN SMALL LETTER O WITH GRAVE ACCENT F3 LO11 LATIN SMALL LETTER O WITH ACUTE ACCENT F4 LO15 LATIN SMALL LETTER O WITH CIRCUMFLEX ACCENT F5 LO19 LATIN SMALL LETTER O WITH TILDE F6 LO17 LATIN SMALL LETTER O WITH DIAERESIS F7 SA06 DIVISION SIGN F8 LO61 LATIN SMALL LETTER O WITH OBLIQUE STROKE F9 LU13 LATIN SMALL LETTER U WITH GRAVE ACCENT FA LU11 LATIN SMALL LETTER U WITH ACUTE ACCENT FB LU15 LATIN SMALL LETTER U WITH CIRCUMFLEX ACCENT FC LU17 LATIN SMALL LETTER U WITH DIAERESIS FD LY11 LATIN SMALL LETTER Y WITH ACUTE ACCENT FE LT63 LATIN SMALL LETTER ICELANDIC THORN FF LY17 LATIN SMALL LETTER Y WITH DIAERESIS ISO 8859-1 by pictures ------------------------------------------------------------------------- | A0 | A1 | A2 | A3 | A4 | A5 | A6 | A7 | |--------|--------|--------|--------|--------|--------|--------|--------| | | XX | XX | XXX | | XX XX | XX | XXXXX | | | | XX | XX XX |XX XX | XX XX | XX | XX X| | | XX | XXXXXX | XX X | XXXXX | XXXX | XX | XXXX | | | XX |XX |XXXX |XX XX | XXXXXX | | XX XX | | | XXXX |XX | XX |XX XX | XX | | XX XX | | | XXXX | XXXXXX | XX XX | XXXXX | XXXXXX | XX | XXXX | | | XX | XX |XXXXXX |XX XX | XX | XX |X XX | | | | XX | | | XX | XX | XXXXX | ------------------------------------------------------------------------- ------------------------------------------------------------------------- | A8 | A9 | AA | AB | AC | AD | AE | AF | |--------|--------|--------|--------|--------|--------|--------|--------| | | XXXXXX | XXXX | | | | XXXXXX |XXXXXXXX| |XX XX |X X| XX XX | XX XX| | |X X| | | |X XXX X| XX XX | XX XX | | |X XXX X| | | |X X X| XXXXX |XX XX |XXXXXXX | XXXXXX |X X X X| | | |X X X| | XX XX | XX | |X XXX X| | | |X XXX X| XXXXXX | XX XX| XX | |X X X X| | | |X X| | | | |X X| | | | XXXXXX | | | | | XXXXXX | | ------------------------------------------------------------------------- ------------------------------------------------------------------------- | B0 | B1 | B2 | B3 | B4 | B5 | B6 | B7 | |--------|--------|--------|--------|--------|--------|--------|--------| | XXX | XX | XXXX | XXXX | XX | | XXXXXXX| | | XX XX | XX | XX | XX | XX | |XX XX XX| | | XX XX | XXXXXX | XX | XXX | XX | XX XX |XX XX XX| | | XXX | XX | XX | XX | | XX XX | XXXX XX| XX | | | XX | XXXXX | XXXX | | XX XX | XX XX| | | | | | | | XX XX | XX XX| | | | XXXXXX | | | | XXXXX | XX XX| | | | | | | |XX | | | ------------------------------------------------------------------------- ------------------------------------------------------------------------- | B8 | B9 | BA | BB | BC | BD | BE | BF | |--------|--------|--------|--------|--------|--------|--------|--------| | | XX | XXX | | XX XX| XX XX|XXX X| XX | | | XXX | XX XX |XX XX |XXX XX |XXX XX | XX X | | | | XX | XX XX | XX XX | XX XX | XX XX |XXX X | XX | | | XX | XXX | XX XX| XXXX X | XXXXXX | XXX X | XX | | | XXXX | | XX XX | XX XX | XX XX|XXXX XX | XX | | XX | | XXXXX |XX XX | XX X X | XX XX | X X X | XX XX| | XX | | | |XX XXXXX|XX XX | X XXXXX| XXXXX | | XXX | | | | XX | XXXX|X XX | | ------------------------------------------------------------------------- ------------------------------------------------------------------------- | C0 | C1 | C2 | C3 | C4 | C5 | C6 | C7 | |--------|--------|--------|--------|--------|--------|--------|--------| | XX | XX | XXXXX | XXX XX |XX XX | XXX | XXXXX | XXXXX | | XX | XX |X X |XX XXX | XXX | XX XX | XX XX |XX XX | | XXX | XXX | XXX | XXX | XX XX | XXXXX |XX XX |XX | | XX XX | XX XX | XX XX | XX XX |XX XX |XX XX |XXXXXXX |XX | |XX XX |XX XX |XX XX |XX XX |XXXXXXX |XXXXXXX |XX XX |XX XX | |XXXXXXX |XXXXXXX |XXXXXXX |XXXXXXX |XX XX |XX XX |XX XX | XXXXX | |XX XX |XX XX |XX XX |XX XX |XX XX |XX XX |XX XXX | XX | | | | | | | | | XXXX | ------------------------------------------------------------------------- ------------------------------------------------------------------------- | C8 | C9 | CA | CB | CC | CD | CE | CF | |--------|--------|--------|--------|--------|--------|--------|--------| | XX | XX | XXXXX |XX XX | XX | XX | XXXX | XX XX | | XX | XX |X X | | XX | XX | X X | | |XXXXXXX |XXXXXXX |XXXXXXX |XXXXXXX | XXXX | XXXX | XXXX | XXXX | |XX |XX |XX |XX | XX | XX | XX | XX | |XXXXXX |XXXXX |XXXXXX |XXXXXX | XX | XX | XX | XX | |XX |XX |XX |XX | XX | XX | XX | XX | |XXXXXXX |XXXXXXX |XXXXXXX |XXXXXXX | XXXX | XXXX | XXXX | XXXX | | | | | | | | | | ------------------------------------------------------------------------- ------------------------------------------------------------------------- | D0 | D1 | D2 | D3 | D4 | D5 | D6 | D7 | |--------|--------|--------|--------|--------|--------|--------|--------| |XXXXX | XXX XX | XX | XX | XXXXX | XXX XX |XX XX | | | XX XX |XX XXX | XX | XX |X X |XX XXX | XXX |XX XX | | XX XX | | XXX | XXX | XXX | XXX | XX XX | XX XX | |XXXX XX |XXX XX | XX XX | XX XX | XX XX | XX XX |XX XX | XXX | | XX XX |XXXX XX |XX XX |XX XX |XX XX |XX XX |XX XX | XX XX | | XX XX |XX XXXX | XX XX | XX XX | XX XX | XX XX | XX XX |XX XX | |XXXXX |XX XXX | XXX | XXX | XXX | XXX | XXX | | | | | | | | | | | ------------------------------------------------------------------------- ------------------------------------------------------------------------- | D8 | D9 | DA | DB | DC | DD | DE | DF | |--------|--------|--------|--------|--------|--------|--------|--------| | XXX X | XX | XX | XXXXX |XX XX | XX |XXXX | XXXX | | XX XX | XX | XX |X X | | XX | XX |XX XX | |XX XXX |XX XX |XX XX | |XX XX | XX XX | XXXXX |XX XX | |XX X XX |XX XX |XX XX |XX XX |XX XX | XX XX | XX XX |XX XX | |XXX XX |XX XX |XX XX |XX XX |XX XX | XXXX | XXXXX |XX XX | | XX XX |XX XX |XX XX |XX XX |XX XX | XX | XX |XX XX | |X XXX | XXXXX | XXXXX | XXXXX | XXXXX | XXXX |XXXX |XX XX | | | | | | | | | | ------------------------------------------------------------------------- ------------------------------------------------------------------------- | E0 | E1 | E2 | E3 | E4 | E5 | E6 | E7 | |--------|--------|--------|--------|--------|--------|--------|--------| | XX | XX | XXXXX | XXX XX |XX XX | XX | | | | XX | XX |X X |XX XXX | | XX | | | | XXXX | XXXX | XXXX | XXXXX | XXXX | XXXX | XXXXXX | XXXXXX | | XX | XX | XX | XX | XX | XX | X X |XX | | XXXXX | XXXXX | XXXXX | XXXXXX | XXXXX | XXXXX |XXXXXXX |XX | |XX XX |XX XX |XX XX |XX XX |XX XX |XX XX |X X | XXXXXX | | XXX XX | XXX XX | XXX XX | XXXXXX | XXX XX | XXX XX |XXXXXXX | XX | | | | | | | | | XXX | ------------------------------------------------------------------------- ------------------------------------------------------------------------- | E8 | E9 | EA | EB | EC | ED | EE | EF | |--------|--------|--------|--------|--------|--------|--------|--------| | XX | XX | XXXXX |XX XX | XX | XX | XXXXX | XX XX | | XX | XX |X X | | XX | XX |X X | | | XXXXX | XXXXX | XXXXX | XXXXX | | | XXX | XXX | |XX XX |XX XX |XX XX |XX XX | XXX | XXX | XX | XX | |XXXXXXX |XXXXXXX |XXXXXXX |XXXXXXX | XX | XX | XX | XX | |XX |XX |XX |XX | XX | XX | XX | XX | | XXXXX | XXXXX | XXXXX | XXXXX | XXXX | XXXX | XXXX | XXXX | | | | | | | | | | ------------------------------------------------------------------------- ------------------------------------------------------------------------- | F0 | F1 | F2 | F3 | F4 | F5 | F6 | F7 | |--------|--------|--------|--------|--------|--------|--------|--------| | XX | XXX XX | XX | XX | XXXXX | XXX XX |XX XX | | | XXXXXX |XX XXX | XX | XX |X X |XX XXX | | XX | | XX | | XXXXX | XXXXX | XXXXX | XXXXX | XXXXX | | | XXXXX |XX XXX |XX XX |XX XX |XX XX |XX XX |XX XX | XXXXXX | |XX XX | XX XX |XX XX |XX XX |XX XX |XX XX |XX XX | | |XX XX | XX XX |XX XX |XX XX |XX XX |XX XX |XX XX | XX | | XXXX | XX XX | XXXXX | XXXXX | XXXXX | XXXXX | XXXXX | | | | | | | | | | | ------------------------------------------------------------------------- ------------------------------------------------------------------------- | F8 | F9 | FA | FB | FC | FD | FE | FF | |--------|--------|--------|--------|--------|--------|--------|--------| | | XX | XX | XXXX |XX XX | XX |XXX |XX XX | | X | XX | XX |X X | | XX | XX | | | XXXXX |XX XX |XX XX | |XX XX |XX XX | XXXXX |XX XX | |XX XXX |XX XX |XX XX |XX XX |XX XX |XX XX | XX XX |XX XX | |XX X XX |XX XX |XX XX |XX XX |XX XX |XX XX | XX XX |XX XX | |XXX XX |XX XX |XX XX |XX XX |XX XX | XXXXXX | XXXXX | XXXXXX | | XXXXX | XXX XX | XXX XX | XXX XX | XXX XX | XX | XX | XX | |X | | | | |XXXXXX |XXXX |XXXXXX | ------------------------------------------------------------------------- Andr'e PIRARD SEGI Univ. de Li`ege B26 - Sart Tilman B-4000 Li`ege 1 (Belgium) PIRARD@BLIULG11 on EARN alias BITNET pirard@vm1.ulg.ac.be on Internet