کد ASCII از اجداد پیشین یونیکد است. کدهای ASCII دارای محدودیت های فراوانی بودند. همان طور که گفتیم هر کاراکتری که در کامپیوتر نشان داده می شود از یک سری صفر و یک (یا بیت) تشکیل شده است که مجموعه این بیت ها، یک کاراکتر را مشخص می کند و این صفر و یک ها را (که معمولا د ربمنای ۱۶ و یا احیانا در مبنای ۱۰نمایش داده می شوند) کد کاراکتر گویند.

در سیستم کدگذاری ASCII برای نمایش کاراکترها از یک بایت استفاده می شود و لذا می توان نتیجه گرفت که با سیستم کدگذاری ASCII روی هم رفته می توان ۲ به توان ۸ یعنی ۲۵۶ کاراکتر را کدگذاری کرد، یعنی تنها یک قالب یک بایتی که شامل حروف A تا Z و a تا z ، اعداد ، کاراکترهای کنترلی و برخی نمادها (کاراکترهایی برای نمادهایخاص مثل $ و @ و …).

در سیستم ASCII جایی برای کاراکترهای دیگر زبان های دنیا مانند روسی، اسپانیایی، چینی، فارسی و غیره وجود ندارد و این کشورها برای نمایش کاراکترهای مربوط به خود از روش های متفاوتی مانند نگاشت (Mapping) و یا ماسک (Mask) که همیشه دارای مشکلات فراوانی بود، استفاده می کردند. البته این مشکلات بیشتر گریبانگیر برنامه نویسان و طراحان بود.