Unicode is een internationale standaard voor het coderen van tekst en andere grafische tekens, met als doel alle karakters die nodig zijn om elke geschreven mensentaal op te schrijven, eenduidig te ordenen. In tegenstelling tot ASCII, dat alleen de standaard letters uit het Engels zonder accenten kent, en het Latin-1 met accenten, dat veel wordt gebruikt in West-Europa, omvat Unicode meerdere schriften van meerdere, ook wanneer die verschillende talen in één enkel document worden gebruikt. In beginsel wordt voor elk schriftteken een apart nummer gebruikt, maar wordt geen onderscheid gemaakt tussen de manier waarop dat teken wordt geschreven.
Het initiatief voor de Unicode-codering kwam van een aantal organisaties die orde wilde scheppen in de chaos van coderingen voor verschillende schriften. Vanaf versie 1.1 van Unicode volgt deze precies de standaard ISO-10464.
In ASCII- en de ISO-8859-coderingen waartoe Latin-1 behoort, zowel als in de codepages van Microsoft Windows worden letters van een taal elk opgeslagen in één byte. Dit biedt ruimte voor 28 = 256 verschillende letters. In de praktijk zijn dit er minder, omdat deze coderingen ook letters reserveren voor speciale toepassingen (zoals de spatie en de regelterugloop).
Voor veel andere schrijfsystemen, zoals het Chinese, Arabische en Japanse schrift, zijn 256 karakters niet voldoende. Voor deze uitgebreidere karaktersets worden traditioneel al andere coderingen gebruikt die meer ruimte inruimen per karakter.
Zelfs met al deze verschillende coderingen voor de verschillende talen was het nog niet mogelijk om over een vreemde taal te schrijven. Wanneer men in een Chinese tekst over het Arabisch wilde schrijven, kon dat niet in de standaard Chinese codering: de Arabische letters zijn daarin niet opgenomen. Unicode en de daarvoor beschikbare coderingen bieden voor al dit type problemen uitkomst.
Het is niet mogelijk elk Unicode letterteken te coderen in een enkele byte, of zelfs in twee. De Unicode-standaard lost dit probleem niet op: de zogenaamde codering maakt geen deel uit van de huidige versie van de Unicode-standaard. Wel zijn er standaarden bedacht om de Unicode-karaktersets in series bytes op te kunnen slaan. De meest voor de hand liggende methoden zijn UCS-2 of UCS-4, waarbij twee respectievelijk 4 bytes per teken gebruikt worden. Omdat dit bij teksten in ons welbekende Romeins alfabet ruimteverspillend werkt en bovendien voor iedereen incompatibel met het verleden zijn coderingen bedacht die hier minder last van hebben, dit zijn UTF-8 en UTF-16; in een volgende versie van de Unicode-standaard worden deze coderingen mogelijk opgenomen. Ook bestaat er de zeer stringente UTF-7 codering, die zeker als een losse standaard zal blijven bestaan, maar slechts beperkte toepassingen kent. UTF-8 heeft als groot voordeel dat het 100% compatibel is met 7-bit ASCII, alle andere karakters worden anders opgeslagen dan in andere coderingen.
Op het moment biedt Unicode ondersteuning voor elk van onderstaande schriften:
Unicode | Уникод | ইউনিকোড | Unicode | Unikod | Unicode | Unicode | Unicode | Unicode | Unicode | Unicode | Unicode | Unikodo | Unicode | Unicode | Unicode | Unicode | Unicode | יוניקוד | यूनिकोड | Unicode | Unicode | Unicode | Unicode | Unicode | უნიკოდი | ಯುನಿಕೋಡ್ | 유니코드 | यूनिकोड | Unicode | Unicode | Unikods | युनिकोड | Unicode | Unicode | Unicode | Unicode | Unicode | Юникод | Unikod | Unicode | Unicode | Unicode | Уникод | Unicode | யுனிகோடு | ยูนิโคด | Unicode | Юнікод | Unicode | Unicôde | Unicode | Thong-iōng-bé