Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako previesť C + + ASCII do UTF8

Ako okamihu zverejnenia , štandardné s názvom C + +0 x je doteraz dokončená , takže neexistuje žiadny priamy spôsob , ako reprezentovať UTF - 8 v C + + . Avšak , moderné operačné systémy poskytujú funkcie , ktoré vám umožní konvertovať a predstavujú reťazca v Unicode a iných znakových sád . Pomocou funkcie zabudované do systému Windows 2000 a neskôr previesť ASCII do kódovania UTF - 8 . Pokyny dovolená 1

Otvorte textový editor a vytvoriť nový C + + zdrojový súbor . Vložte nasledujúce riadky v ňom , ktoré zahŕňajú funkcie potrebné pre konverziu ASCII do UTF - 8 a výstup výsledkov do konzoly :

# include # include using namespace std int main ( ) { char sText [ 13 ] = " Hello World ! " ;
2

Vložte nasledujúce riadky kódu , ktoré používajú funkciu MultiByteToWideChar určiť veľkosť UTF - 16 znázornenie reťazca . Môžete použiť tento formát prideliť nové vyrovnávacej pamäte , ktorá pojme verzii reťazca UTF - 16 :

DWORD dwNum = MultiByteToWideChar ( CP_ACP , 0 , sText , -1 , NULL , 0 ) ; wchar_t * pwText ; pwText = new wchar_t [ dwNum ] ;
3

zadajte nasledujúci text do súboru . Funkcia MultiByteToWideChar má ASCII reťazec a prevádza ho do UTF - 16 , ukladanie do vyrovnávacej pamäte:

MultiByteToWideChar ( CP_ACP , 0 , sText , -1 , pwText , dwNum ) ;
4

Zadajte nasledujúci kód do súboru . Funkcia WideCharToMultiByte vám povie veľkosť vráteného reťazca , takže si môžete vytvoriť vyrovnávaciu pamäť pre UTF - 8 reprezentácie :

dwNum = WideCharToMultiByte ( CP_UTF8 , 0 , pwText , -1 , NULL , 0 , NULL , NULL ) ; char * psText ; psText = new char [ dwNum ] ;
5

Pridajte nasledujúci kód , ktorý prevádza UTF - 16 reťazec do UTF - 8 , uloženie výsledku do pamäte ste práve vytvorili :

WideCharToMultiByte ( CP_UTF8 , 0 , pwText , -1 , psText , dwNum , NULL , NULL ) ;
6

Pridajte nasledujúce riadky pre zobrazenie UTF - 8 a dokončiť hlavné funkcie : cout << psText ; }

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené