Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Why is Unicode used in the latest operating systems instead of ASCII?

share|improve this question

closed as off topic by harrymc, Joe Taylor, Shinrai, Ivo Flipse Mar 8 '11 at 18:32

Questions on Super User are expected to relate to computer software or computer hardware within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

LOWER-CASE, PLEASE! – harrymc Mar 8 '11 at 17:54
Should this be tagged [homework]? – Phoshi Mar 8 '11 at 21:20
> Why is Unicode used in the latest operating systems instead of ASCII? Um… because there are other languages besides English. – Synetech Oct 12 '12 at 2:22

Because it provides an easy and uniform mapping of all characters currently in use without having to switch code pages. Besides, you probably mean EASCII or ANSI (or some other derivative with 256 characters).

To give you an example: using Russian and Czech on the same system would have been impossible some time ago (i.e. without Unicode), because the code pages would have conflicted. So names of files (among other objects) would have been displayed improperly for either one, depending on the code page currently selected.

Unicode mitigates that and adds some other concepts. For an all around good overview I can recommend "Unicode Explained" from O'Reilly. Also, it's written by someone who cares about internationalization, which cannot be said - even now - of many English native speakers, as ASCII (0..127) can be used to cover all English sentences and no code page issues exist, even when using EASCII as long as you stick to plain Latin characters.

While the implementations differ (Debian uses UTF-8, while newer Windows uses UTF-16 and older NT-based Windows used UCS-2, a subset of UTF-16), Unicode takes away all the limitations imposed by code pages, which is the killer argument for using it.

If you are interested in it for programming, have a look at ICU.

share|improve this answer

Short answer: Because Unicode supports more characters than ASCII.

From Wikipedia:

Unicode is intended to address the need for a workable, reliable world text encoding. Unicode could be roughly described as "wide-body ASCII" that has been stretched to 16 bits to encompass the characters of all the world's living languages. In a properly engineered design, 16 bits per character are more than sufficient for this purpose.

share|improve this answer

UTF-8 was designed from the ground up to be backward compatible with ASCII. Instantly any 7 bit ASCII system instantly became a basic UTF-8 system (albeit not necessarily handling more than the 127 characters of basic ASCII).

UTF-8 expands on the ASCII system by allowing multiple bytes to be put together to make up a single character. This lets computers handle many hundreds of thousands of different characters - the aim of which is to be able to have all the characters of all the alphabets of all the languages together in one big character table. explains how it all works in detail.

share|improve this answer
I'm afraid this is wrong. As Unicode has over 100,000 characters, it isn't true that "65536 individual characters [is] plenty for every imaginable character" Also, a UTF-8 file can include all of those Unicode characters - there's no need to resort to UTF-16. – RedGrittyBrick Mar 8 '11 at 18:34
Oooh, you learn something new every day. Good ol' Wikipedia... – Majenko Mar 8 '11 at 21:09
The question was about Unicode in general (versus the old mix of iso8859-number codepages). – grawity Mar 8 '11 at 21:30

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