A. ASCII vs Unicode Architecture:
Early programming languages (like C and C++) were built upon the ASCII (American Standard Code for Information Interchange) character set. ASCII uses 7 bits (standard, 128 characters) or 8 bits (extended, 256 characters), which is sufficient only for the Latin English alphabet, Arabic numerals, and standard punctuation.
To achieve true global universality, Java adopted the Unicode character set:
- 16-Bit Width: Unicode uses 16 bits (2 bytes) per character, providing $2^{16} = 65,536$ unique code points.
- Global Internationalization: Unicode accommodates virtually all living written languages across the globe—including Devanagari (Hindi, Sanskrit), Mandarin Chinese, Japanese Kanji, Arabic, Cyrillic, Greek, and mathematical symbols.
- Backward Compatibility: The first 128 characters of Unicode are identical to standard ASCII (e.g.,
'A'is $65$,'a'is $97$,'0'is $48$).