07-08-2023, 03:59 PM
Roger that....I posted that in this thread (post #6) and mentioned it. This confirms that the encoding during the "wild west period" which BASIC was alive well during, was a crap shoot as far as the platform/OS/program specific character mappings. I resisted getting into this detail, but here are the issues one must "work through on their own" to learn this mess.
There is one saving grace. One of the newest, and yet fully mature, languages, Dart, has in my humble opinion, one of the best sets of Documentation I have seen. Dart does a respectable job of explaining all this, and more importantly seamlessly deals with all the bullet items above - inherently. Dart 3 is a masterpiece of language design and one can understand a lot about historic and modern programming from studying it. BASIC is my first love (had a fling with PASCAL and FORTRAN), but I have learned more from digging deep into 'C' (not C++, that took me backwards with templates, etc.) and Dart than any other language except for BASIC. On the BASIC side QB64 and Power Basic (and Pure Basic nearly so) have just outstanding Wiki/Help support.
- Chars vs. Bytes vs. u8's
- ASC II vs. Extended ASC II
- ANSI, IBM, etc.
- Unicode (a messy savior)
- Strings (a relative term)
- Code point
- Code unit UTF-16 (65,536 combos)
- Surrogate pairs (ugh!)
- Runes (yeah!...almost)
- Regional indicator symbols (for flags, etc.)
- Zero Width Joiner (ZWJ)
- User-perceived character, aka Unicode extended grapheme cluster, aka Grapheme cluster
There is one saving grace. One of the newest, and yet fully mature, languages, Dart, has in my humble opinion, one of the best sets of Documentation I have seen. Dart does a respectable job of explaining all this, and more importantly seamlessly deals with all the bullet items above - inherently. Dart 3 is a masterpiece of language design and one can understand a lot about historic and modern programming from studying it. BASIC is my first love (had a fling with PASCAL and FORTRAN), but I have learned more from digging deep into 'C' (not C++, that took me backwards with templates, etc.) and Dart than any other language except for BASIC. On the BASIC side QB64 and Power Basic (and Pure Basic nearly so) have just outstanding Wiki/Help support.