Sdílet prostřednictvím


Jednobajtové a vícebajtové znakové sady

Znaková sada ASCII definuje znaky v rozsahu 0x00 – 0x7F. Existuje mnoho dalších znakových sad, především evropských, které definují znaky v rozsahu 0x00 – 0x7F shodně se znakovou sadou ASCII a také definují rozšířenou znakovou sadu z 0x80 - 0xFF. 8bitová jednobajtů znaková sada (SBCS) je dostatečná k reprezentaci znakové sady ASCII a znakových sad pro mnoho evropských jazyků. Některé jiné než evropské znakové sady, jako je japonština Kanji, však obsahují mnoho znaků, než může být reprezentováno v jednobajtovém kódování schématu, a proto vyžadují kódování vícebajtové znakové sady (MBCS).

Poznámka:

Mnoho rutin knihovny SBCS microsoftu zpracovává vícebajtové bajty, znaky a řetězce podle potřeby. Mnoho vícebajtových znakových sad definuje znakovou sadu ASCII jako podmnožinu. V mnoha vícebajtových znakových sadách je každý znak v rozsahu 0x00 – 0x7F shodný se znakem, který má stejnou hodnotu ve znakové sadě ASCII. Například v řetězcích znaků ASCII i MBCS má znak null 1bajt (\0) hodnotu 0x00 a označuje ukončující znak null.

Vícebajtová znaková sada se může skládat ze dvoubajtových i dvoubajtových znaků. Řetězec s vícebajtovými znaky může obsahovat kombinaci jednobajtových a dvoubajtových znaků. Dvoubajtový vícebajtový znak má hlavní bajt a bajt stopy. V konkrétní vícebajtové znakové sadě spadají hlavní bajty do určitého rozsahu, stejně jako koncové bajty. Pokud se tyto oblasti překrývají, možná budete muset vyhodnotit kontext, abyste zjistili, jestli daný bajt funguje jako hlavní bajt nebo bajt stopy.

Viz také

Internacionalizace
Rutiny UCRT (Universal C runtime) podle kategorie