Yksi ensimmäisistä yrityksistä, jotka ottivat johdonmukaisesti käyttöön Unicoden , oli Microsoft – Windows NT oli ensimmäinen käyttöjärjestelmä, joka käytti Unicodea järjestelmäkutsuissa. Kaksitavuinen merkkiesitys ( UCS-2 ) valittiin; Windows 2000 :sta alkaen on mahdollista esittää ylimääräisiä tasomerkkejä käyttämällä UTF-16- korvauspareja .
Siirtyminen Unicodeen tapahtui vaiheittain [1] :
Käyttöjärjestelmät Windows XP ja Windows Server 2003 , kuten niiden edeltäjät Windows NT 4 ja Windows 2000 , sisältävät järjestelmäkirjastot, jotka sisältävät molempien tyyppisiä toimintoja: Unicode ja suunniteltu toimimaan nykyisen järjestelmän koodisivun merkkijonojen kanssa , jota kutsutaan perinteisesti ANSI-sivuksi. Tässä tapauksessa päätettä W käytetään kutsumaan Unicode-funktioita (sanasta leveä "leveä", esimerkiksi ), ja kirjainta AlstrlenW() käytetään kutsumaan ANSI-funktioita (esimerkiksi ). Tämän seurauksena sekä Unicodea käyttävät ohjelmat että vanhemmat ohjelmat, jotka eivät voi toimia samanaikaisesti eri kielten merkkien kanssa, toimivat Windows NT -perheessä . Useimmat ANSI-toiminnot toteutetaan kääreinä vastaavien Unicode-toimintojen päälle. Voit käyttää vain symboleja, joita nämä ohjelmat tukevat. lstrlenA()
Windows CE on käyttänyt vain UTF-16 :ta ensimmäisistä versioista lähtien, harvoja tapauksia lukuun ottamatta .
Vuonna 2001 Microsoft julkaisi erityisen lisäosan vanhemmille Windows 95- , Windows 98- ja Windows Me -käyttöjärjestelmilleen . Lisäosaa kutsutaan Unicode-tasoksi ( Microsoft Layer for Unicode , MSLU ), ja se tarjoaa Unicode-tuen määritetyille vanhemmille alustoille. Tämä lisäosa sisältää dynaamisen kirjaston unicows.dll (vain 240 kt ), joka sisältää unicode-versiot (ne, joiden lopussa on W-kirjain) kaikista Windows API :n päätoiminnoista . Tämän seurauksena tuli mahdolliseksi ajaa sekä vanhoja että uusia Unicode-ohjelmia vanhemmissa Windows-käyttöjärjestelmissä.
Windows NT sisältää IsTextUnicode- funktion , joka yrittää tilastollisesti määrittää, sisältääkö sille välitetty merkkijono Unicode-tekstiä . Hyvin lyhyille teksteille tämä toiminto antaa usein virheellisen tuloksen. Esimerkiksi Windows NT:n tavallinen tekstieditori - Muistio käyttää tätä toimintoa tekstitiedostoja avattaessa, mikä aiheutti legendoja seuraavanlaisten " pääsiäismunien " olemassaolosta siinä:
Tehokkaampia ovat lauseet, jotka koostuvat kokonaan latinalaisista kirjaimista (esimerkiksi "tämä sovellus voi rikkoutua"), koska tässä tapauksessa, jos koodaus tunnistetaan väärin, koko rivi krakozyabr näytetään . [2] .