51
\$\begingroup\$

Prompted by this.

The question of APL's encoding often comes up, and many times a helpful soul links to Wikipedia's article on the APL EBCDIC codepage. However, each implementation of APL has its own encoding rules. What are they?

\$\endgroup\$

1 Answer 1

59
\$\begingroup\$
  • GNU APL and ngn/apl use UTF-8, so use a byte counting tool.

  • NARS2000 only uses UCS-2, so 2 bytes per character.

  • IBM's APL2 is the only modern APL that natively supports APL EBCDIC, so 1 byte per character.

  • Dyalog APL uses any Unicode format, or the classic Dyalog character set (Table 1 below).*

  • APL+ only uses its own 256 character set (Table 2 below), so 1 byte per character.

  • APLX uses its own 256 character set (Table 3 below), so 1 byte per character.

  • A+ uses its own 256 character set (Table 4 below), so 1 byte per character.

  • dzaima/APL uses its own 256 character set (Table 6 below), so 1 byte per character.

  • Jelly and M use the 257 character Jelly codepage (Table 5 below), so 1 byte per character.

  • ELI, J, K, Kona, oK, Nial, and Q all use ASCII, so 1 byte per character.


    * Three glyphs added in each of versions 14.0 (, , and ) and 16.0 (, , and ) are not included in the set, but may be counted as one byte each by referring to SBCS, except if the code simultaneously uses any of the characters £, ¢, ¥, ý, ɫ, and ·. If it does, then they must be counted as if they were written:
    ⎕U2338⎕U2364⎕OPT
    ⎕U2286⎕U233A⎕U2378
    Remember that these longer names need to be followed by a space if the next character is alphanumeric.


Table 1: Unicode code points for every byte value in the classic Dyalog APL encoding.

┌──┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐
│  │00  │01  │02  │03  │04  │05  │06  │07  │08  │09  │0A  │0B  │0C  │0D  │0E  │0F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│00│00  │08  │0A  │0D  │20  │0C  │06  │07  │1B  │09  │2336│026B│25  │27  │237A│2375│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│10│5F  │61  │62  │63  │64  │65  │66  │67  │68  │69  │6A  │6B  │6C  │6D  │6E  │6F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│20│70  │71  │72  │73  │74  │75  │76  │77  │78  │79  │7A  │01  │02  │AF  │2E  │236C│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│30│30  │31  │32  │33  │34  │35  │36  │37  │38  │39  │03  │22A2│A5  │24  │A3  │A2  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│40│2206│41  │42  │43  │44  │45  │46  │47  │48  │49  │4A  │4B  │4C  │4D  │4E  │4F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│50│50  │51  │52  │53  │54  │55  │56  │57  │58  │59  │5A  │04  │05  │FD  │B7  │7F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│60│2359│C1  │C2  │C3  │C7  │C8  │CA  │CB  │CC  │CD  │CE  │CF  │D0  │D2  │D3  │D4  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│70│D5  │D9  │DA  │DB  │DD  │FE  │E3  │EC  │F0  │F2  │F5  │7B  │20AC│7D  │22A3│2337│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│80│A8  │C0  │C4  │C5  │C6  │2368│C9  │D1  │D6  │D8  │DC  │DF  │E0  │E1  │E2  │E4  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│90│E5  │E6  │E7  │E8  │E9  │EA  │EB  │ED  │EE  │EF  │F1  │5B  │2F  │233F│5C  │2340│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│A0│3C  │2264│3D  │2265│3E  │2260│2228│2227│2D  │2B  │F7  │D7  │3F  │220A│2374│7E  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│B0│2191│2193│2373│25CB│2A  │2308│230A│2207│2218│28  │2282│2283│2229│222A│22A5│22A4│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│C0│7C  │3B  │2C  │2371│2372│2352│234B│2349│233D│2296│235F│2339│21  │2355│234E│236B│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│D0│236A│2261│2262│F3  │F4  │F6  │F8  │22  │23  │1E  │26  │B4  │2518│2510│250C│2514│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│E0│253C│2500│251C│2524│2534│252C│2502│40  │F9  │FA  │FB  │5E  │FC  │60  │2223│B6  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│F0│3A  │2377│BF  │A1  │22C4│2190│2192│235D│29  │5D  │1F  │A0  │A7  │2395│235E│2363│
└──┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┘


Table 2: Unicode code points for every byte value in the APL+ character set.

┌──┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐
│  │00  │01  │02  │03  │04  │05  │06  │07  │08  │09  │0A  │0B  │0C  │0D  │0E  │0F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│00│00  │01  │02  │2377│22C4│A8  │2190│07  │08  │09  │0A  │2282│0C  │0D  │2283│235F│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│10│10  │11  │12  │236B│14  │15  │236C│2375│2191│2193│2192│1B  │22A3│22A2│234B│2352│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│20│20  │21  │22  │23  │24  │25  │26  │27  │28  │29  │2A  │2B  │2C  │2D  │2E  │2F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│30│30  │31  │32  │33  │34  │35  │36  │37  │38  │39  │3A  │3B  │3C  │3D  │3E  │3F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│40│40  │41  │42  │43  │44  │45  │46  │47  │48  │49  │4A  │4B  │4C  │4D  │4E  │4F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│50│50  │51  │52  │53  │54  │55  │56  │57  │58  │59  │5A  │5B  │5C  │5D  │5E  │5F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│60│60  │61  │62  │63  │64  │65  │66  │67  │68  │69  │6A  │6B  │6C  │6D  │6E  │6F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│70│70  │71  │72  │73  │74  │75  │76  │77  │78  │79  │7A  │7B  │A6  │7D  │7E  │7F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│80│C7  │FC  │E9  │E2  │E4  │E0  │2260│E7  │EA  │EB  │E8  │EF  │EE  │2308│C4  │230A│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│90│C9  │2206│D7  │F4  │F6  │2395│FB  │235E│2339│D6  │DC  │A2  │A3  │3F  │236A│2368│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│A0│E1  │ED  │F3  │FA  │F1  │D1  │235D│2340│BF  │2337│151 │F8  │FD  │A1  │AB  │BB  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│B0│2395│2395│2395│7C  │7C  │7C  │7C  │2B  │2B  │7C  │7C  │2B  │2B  │2B  │2B  │2B  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│C0│C0  │C1  │C2  │C3  │C4  │C5  │C6  │C7  │C8  │C9  │CA  │CB  │CC  │CD  │CE  │CF  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│D0│2D  │D1  │D2  │D3  │D4  │D5  │D6  │2B  │D8  │D9  │DA  │DB  │DC  │DD  │7C  │FF  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│E0│237A│DF  │2373│2364│E3  │2371│22A5│22A4│233D│2296│2372│233F│2207│2349│220A│236B│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│F0│2261│2359│2265│2264│2355│234E│F7  │22  │2218│25CB│2228│2374│2229│AF  │7C  │00  │
└──┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┘

Table 3: Unicode code points for every byte value in the APLX character set:

┌──┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐
│  │00  │01  │02  │03  │04  │05  │06  │07  │08  │09  │0A  │0B  │0C  │0D  │0E  │0F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│00│    │    │    │    │    │    │    │2350│08  │2357│0A  │2347│2348│0D  │2371│2372│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│10│2352│234B│233D│2349│2296│235F│2336│236B│234E│2355│2340│233F│235D│235E│21  │2339│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│20│20  │A8  │29  │3C  │2264│3D  │3E  │5D  │2228│5E  │2260│F7  │2C  │2B  │2E  │2F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│30│30  │31  │32  │33  │34  │35  │36  │37  │38  │39  │28  │5B  │3B  │D7  │3A  │5C  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│40│AF  │237A│22A5│2229│230A│220A│5F  │2207│7B  │2373│2218│27  │2395│7C  │22A4│25CB│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│50│2A  │3F  │2374│2308│7E  │2193│222A│2375│2283│2191│2282│2190│22A2│2192│2265│2D  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│60│22C4│41  │42  │43  │44  │45  │46  │47  │48  │49  │4A  │4B  │4C  │4D  │4E  │4F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│70│50  │51  │52  │53  │54  │55  │56  │57  │58  │59  │5A  │2206│22A3│236A│24  │7D  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│80│    │    │    │    │    │    │    │    │    │    │    │    │    │    │    │    │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│90│250C│2510│2514│2518│2500│2502│253C│251C│2524│2534│252C│1B  │1C  │CD  │1E  │1F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│A0│22  │23  │25  │26  │40  │A3  │60  │2261│2262│2377│2378│233B│2342│2364│2365│2337│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│B0│C4  │C5  │C7  │C9  │D1  │D6  │DC  │E1  │E0  │E2  │E4  │E3  │E5  │E7  │E9  │E8  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│C0│EA  │EB  │ED  │EC  │EE  │EF  │F1  │F3  │F2  │F4  │F6  │F5  │FA  │F9  │FB  │FC  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│D0│C0  │C3  │D5  │0152│0153│C6  │E6  │236C│D8  │F8  │BF  │A1  │DF  │FF  │00  │00  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│E0│00  │61  │62  │63  │64  │65  │66  │67  │68  │69  │6A  │6B  │6C  │6D  │6E  │6F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│F0│70  │71  │72  │73  │74  │75  │76  │77  │78  │79  │7A  │2359│C8  │20AC│00  │7F  │
└──┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┘


Table 4: Unicode code points for every byte value in the A+ character set.

┌──┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐
│  │00  │01  │02  │03  │04  │05  │06  │07  │08  │09  │0A  │0B  │0C  │0D  │0E  │0F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│00│00  │01  │02  │03  │04  │05  │06  │07  │08  │09  │0A  │0B  │0C  │0D  │0E  │0F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│10│10  │11  │12  │13  │14  │15  │16  │17  │18  │19  │1A  │1B  │1C  │1D  │1E  │1F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│20│20  │21  │22  │23  │24  │25  │26  │27  │28  │29  │2A  │2B  │2C  │2D  │2E  │2F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│30│30  │31  │32  │33  │34  │35  │36  │37  │38  │39  │3A  │3B  │3C  │3D  │3E  │3F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│40│40  │41  │42  │43  │44  │45  │46  │47  │48  │49  │4A  │4B  │4C  │4D  │4E  │4F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│50│50  │51  │52  │53  │54  │55  │56  │57  │58  │59  │5A  │5B  │5C  │5D  │2227│5F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│60│60  │61  │62  │63  │64  │65  │66  │67  │68  │69  │6A  │6B  │6C  │6D  │6E  │6F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│70│70  │71  │72  │73  │74  │75  │76  │77  │78  │79  │7A  │7B  │7C  │7D  │7E  │7F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│80│80  │81  │82  │83  │84  │85  │86  │87  │88  │89  │8A  │8B  │8C  │8D  │8E  │8F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│90│90  │91  │92  │93  │94  │95  │96  │97  │98  │99  │9A  │9B  │9C  │9D  │9E  │9F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│A0│A0  │A8  │AF  │A3  │2264│A5  │2265│A7  │2260│2228│    │D7  │236A│2339│2368│233F│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│B0│2372│A1  │    │A3  │A5  │    │B6  │B7  │    │2371│    │    │    │2261│2337│BF  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│C0│    │237A│22A5│2229│230A│220A│    │2207│2206│2373│2218│    │2395│7C  │22A4│25CB│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│D0│    │    │2374│2308│    │2193│222A│2375│2283│2191│2282│22A2│2340│22A3│    │F7  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│E0│2336│2296│234E│235D│    │2377│236B│2352│234B│ED  │    │    │235E│    │2355│    │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│F0│235F│    │    │    │2349│    │    │233D│    │    │A2  │2190│2359│2192│22C4│    │
└──┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┘


Table 5: Unicode code points for every byte value in the Jelly encoding.

┌──┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐
│  │00  │01  │02  │03  │04  │05  │06  │07  │08  │09  │0A  │0B  │0C  │0D  │0E  │0F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│00│A1  │A2  │A3  │A4  │A5  │A6  │A9  │AC  │AE  │B5  │BD  │BF  │20AC│C6  │C7  │D0  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│10│D1  │D7  │D8  │0152│DE  │DF  │E6  │E7  │F0  │0131│0237│F1  │F7  │F8  │0153│FE  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│20│20  │21  │22  │23  │24  │25  │26  │27  │28  │29  │2A  │2B  │2C  │2D  │2E  │2F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│30│30  │31  │32  │33  │34  │35  │36  │37  │38  │39  │3A  │3B  │3C  │3D  │3E  │3F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│40│40  │41  │42  │43  │44  │45  │46  │47  │48  │49  │4A  │4B  │4C  │4D  │4E  │4F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│50│50  │51  │52  │53  │54  │55  │56  │57  │58  │59  │5A  │5B  │5C  │5D  │5E  │5F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│60│60  │61  │62  │63  │64  │65  │66  │67  │68  │69  │6A  │6B  │6C  │6D  │6E  │6F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│70│70  │71  │72  │73  │74  │75  │76  │77  │78  │79  │7A  │7B  │7C  │7D  │7E  │B6  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│80│B0  │30  │30  │30  │2074│2075│2076│2077│2078│2079│207A│207B│207C│207D│207E│0181│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│90│0187│018A│0191│0193│0198│2C6E│019D│01A4│01AC│01B2│0224│0253│0188│0257│0192│0260│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│A0│0266│0199│0271│0272│01A5│02A0│027C│0282│01AD│028B│0225│1EA0│1E04│1E0C│1EB8│1E24│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│B0│1ECA│1E32│1E36│1E42│1E46│1ECC│1E5A│1E62│1E6C│1EE4│1E7E│1E88│1EF4│1E92│0226│1E02│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│C0│010A│1E0A│0116│1E1E│0120│1E22│0130│013F│1E40│1E44│022E│1E56│1E58│1E60│1E6A│1E86│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│D0│1E8A│1E8E│017B│1EA1│1E05│1E0D│1EB9│1E25│1ECB│1E33│1E37│1E43│1E47│1ECD│1E5B│1E63│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│E0│1E6D│A7  │C4  │1E89│1EF5│1E93│0227│1E03│010B│1E0B│0117│1E1F│0121│1E23│0140│1E41│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│F0│1E45│022F│1E57│1E59│1E61│1E6B│1E87│1E8B│1E8F│017C│AB  │BB  │2018│2019│201C│201D│
└──┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┘


Table 6: Unicode code points for every byte value in the dzaima/APL encoding.

┌──┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐
│  │00  │01  │02  │03  │04  │05  │06  │07  │08  │09  │0A  │0B  │0C  │0D  │0E  │0F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│00│00  │    │    │    │    │    │    │    │    │09  │0A  │    │    │    │    │    │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│10│    │    │    │    │    │    │    │    │    │    │    │    │    │    │    │    │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│20│20  │21  │22  │23  │24  │25  │26  │27  │28  │29  │2A  │2B  │2C  │2D  │2E  │2F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│30│30  │31  │32  │33  │34  │35  │36  │37  │38  │39  │3A  │3B  │3C  │3D  │3E  │3F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│40│40  │41  │42  │43  │44  │45  │46  │47  │48  │49  │4A  │4B  │4C  │4D  │4E  │4F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│50│50  │51  │52  │53  │54  │55  │56  │57  │58  │59  │5A  │5B  │5C  │5D  │5E  │5F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│60│60  │61  │62  │63  │64  │65  │66  │67  │68  │69  │6A  │6B  │6C  │6D  │6E  │6F  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│70│70  │71  │72  │73  │74  │75  │76  │77  │78  │79  │7A  │7B  │7C  │7D  │7E  │F7  │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│80│D7  │2191│2193│2308│230A│2260│220A│237A│2374│2375│2373│220D│22FE│2395│235E│2338│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│90│233A│2347│2341│2342│233B│233C│2343│2344│2348│234C│234D│2350│2353│2354│2357│236F│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│A0│2370│2360│2339│2286│2287│2376│2378│2379│2358│235A│235B│235C│234A│2264│2265│236E│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│B0│03FC│2377│2349│233D│2296│2299│233E│25CB│2218│235F│2297│A8  │2368│2361│2365│2369│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│C0│2363│2362│2364│2282│2283│2229│222A│22A5│22A4│2206│2207│2352│234B│236B│2371│2372│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│D0│2228│2227│236C│22A3│22A2│2337│2355│234E│2190│2192│2345│2346│234F│2356│233F│2340│
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│E0│236A│2261│2262│2366│2367│236D│203D│2351│221E│2026│221A│    │    │    │    │    │
├──┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│F0│    │    │    │    │    │    │    │    │    │    │    │    │    │    │    │    │
└──┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┘
\$\endgroup\$
15
  • 18
    \$\begingroup\$ This is really helpful, thanks for doing this \$\endgroup\$
    – Alex A. Mod
    Commented Jun 23, 2016 at 17:43
  • 3
    \$\begingroup\$ @jimmy23013 Thanks for your hard work. I only did research and data-mangling. jimmy23013 did a full character set manually/visually! \$\endgroup\$
    – Adám
    Commented Jun 23, 2016 at 22:00
  • \$\begingroup\$ An interesting follow-up question would be how the different dialects handle output encoding. Do they just output byte streams or do they output some Unicode encoding of the code points represented in the string. For instance, it appears that you can't include the ^ character in a string literal in A+ since U+5E is not on the code page. But if you use instead, would that get printed as a 0x5E byte, or as a UTF-8/16/32 encoded U+2227? \$\endgroup\$
    – Martin Ender Mod
    Commented Jun 24, 2016 at 8:54
  • 1
    \$\begingroup\$ @MartinEnder A+ doesn't seem to be aware of the encodings at all. It has only a font of the 256 characters, where ^ looks like an inverted © in that font, which in turn looks like a in the Unicode standard. \$\endgroup\$
    – jimmy23013
    Commented Jun 24, 2016 at 12:07
  • \$\begingroup\$ @MartinEnder So U+2227 is only because I think it is closest to that character. It's more like A+ doesn't think ^ and are different, just like the Windows console doesn't think and U+1 START OF HEADING are different, and display it like a . \$\endgroup\$
    – jimmy23013
    Commented Jun 24, 2016 at 12:17
  • \$\begingroup\$ So Dyalog does not support the EBCDIC code page? Or is that what the "classic Dyalog APL encoding" is? \$\endgroup\$
    – Alex A. Mod
    Commented Jul 7, 2016 at 17:42
  • \$\begingroup\$ @AlexA. No, out-of-the-box, Dyalog APL does not understand APL EBCDIC. "Classic" is basically just another extended ASCII. However, Dyalog APL has ⎕AVU which allows you to use any codepage you want. So by assigning ⎕AVU←256 Unicode points that correspond to APL EBCDIC, it does support it. \$\endgroup\$
    – Adám
    Commented Jul 7, 2016 at 18:29
  • \$\begingroup\$ Interesting. Thanks for clarifying. \$\endgroup\$
    – Alex A. Mod
    Commented Jul 7, 2016 at 18:45
  • \$\begingroup\$ I'm devising a new one (I linked to here of course :). \$\endgroup\$ Commented Jul 19, 2016 at 5:23
  • 5
    \$\begingroup\$ What's Jelly's 257th character? How is that even possible? \$\endgroup\$ Commented Aug 28, 2016 at 4:22
  • 4
    \$\begingroup\$ @luserdroog Both and newline are read as byte 7F, which makes it much easier to read code as statements may be separated by actual visual newlines, while literal newlines (inside strings) can be seen. However, Jelly considers them completely equivalent – in fact, it cannot distinguish between them at all. \$\endgroup\$
    – Adám
    Commented Aug 28, 2016 at 8:20
  • \$\begingroup\$ @luserdroog See Jelly Code page. \$\endgroup\$
    – Adám
    Commented Aug 28, 2016 at 8:29
  • \$\begingroup\$ Since Jelly's custom code-page is part of the answer, wouldn't other answers using custom code-pages (i.e. 05AB1E) be part of the answer as well now? 05AB1E probably barely existed yet when you wrote this answer, but I see you edited it today, hence the question. \$\endgroup\$ Commented Oct 26, 2018 at 13:18
  • 1
    \$\begingroup\$ @KevinCruijssen The question is When can APL characters be counted as 1 byte each? Jelly is an APL. Maybe the question and answer should be overhauled to include all code pages, although there is probably less confusion about dedicated golfing languages using custom code pages than mainstream language doing so. Sure, Jelly isn't a mainstream language, but I included it here because the posts were specific to APL. \$\endgroup\$
    – Adám
    Commented Oct 26, 2018 at 15:10
  • 1
    \$\begingroup\$ @Adám Ah, didn't knew Jelly was based on APL. I thought it was a separated language just like 05AB1E, which both have custom code pages. \$\endgroup\$ Commented Oct 26, 2018 at 16:53

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .