Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> C /C + + Programming >> .

Come convertire C + + ASCII a UTF8

Al momento della pubblicazione , lo standard chiamato C + +0 x non è ancora ultimato , quindi non esiste un modo diretto di rappresentare UTF -8 in C + + . Tuttavia, i sistemi operativi moderni offrono funzioni che consentono di convertire e rappresentare le stringhe nel set di caratteri Unicode e altri . Utilizzare le funzioni integrate in Windows 2000 e versioni successive per convertire ASCII a UTF8 . Istruzioni
1

Aprite il vostro editor di testo e creare un nuovo file sorgente C + + . Inserite le seguenti righe in esso , che comprendono le funzioni necessarie per la conversione ASCII in UTF-8 e l'uscita il risultato alla console :

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

inserire le seguenti righe di codice , che utilizzano la funzione MultiByteToWideChar per determinare la dimensione della codifica UTF - 16 rappresentazione della stringa . È possibile utilizzare questo formato per allocare un nuovo buffer che può contenere la versione UTF -16 della stringa :

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

Digitare il seguente testo nel file . La funzione MultiByteToWideChar prende la stringa ASCII e la converte in UTF - 16 , la memorizzazione nel buffer :

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

Inserisci il seguente codice nel file . La funzione WideCharToMultiByte ti dice la dimensione della stringa restituita in modo da poter creare un buffer per la rappresentazione UTF-8 :

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

Aggiungere il seguente codice , che converte la stringa UTF-16 in UTF - 8 , la memorizzazione del risultato nel buffer appena creato :

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

Aggiungi le seguenti righe per visualizzare la codifica UTF -8 e finire la funzione principale : cout <

 

Programmazione © www.354353.com