Video: Tutorial C++ - Lezione 17 - Vettori di caratteri 2024
La variabile char standard in C ++ è di appena 1 byte e può gestire solo 255 caratteri diversi. Questo è abbastanza per le lingue europee, ma non abbastanza grande per gestire linguaggi basati su simboli come kanji.
Sono sorti diversi standard per estendere il set di caratteri per gestire le richieste di queste lingue. UTF-8 usa una combinazione di caratteri a 8, 16 e 32 bit per implementare quasi tutti i kanji o geroglifici che si possono pensare, ma rimangono comunque compatibili con semplici ASCII a 8 bit. UTF-16 utilizza una combinazione di caratteri a 16 e 32 bit per ottenere un set di caratteri espanso e UTF-32 utilizza 32 bit per tutti i caratteri.
UTF sta per Unicode Transformation Format, da cui ottiene il nickname comune Unicode.
La tabella descrive i diversi tipi di caratteri supportati da C ++. All'inizio, C ++ ha cercato di cavarsela con un tipo di carattere ampio vagamente definito, wchar_t. Questo tipo era destinato ad essere il tipo di carattere ampio nativo per l'ambiente del programma applicativo. C ++ '11 ha introdotto tipi specifici per UTF-16 e UTF-32.
Variabile | Esempio | Che cosa è | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
carattere | 'c' | caratteri ASCII o UTF-8 | wchar_t | L'c ' | Carattere in formato largo | char_16t | u'c' | carattere UTF-16 | char_32t | U'c ' | carattere UTF-32 |
UTF-16 è la codifica standard per le applicazioni Windows. Il tipo wchar_t si riferisce a UTF-16 nel codice:: Blocks / gcc compiler.
Qualsiasi tipo di carattere nella tabella può essere combinato anche in stringhe:
wchar_t * wideString = L "questa è una stringa larga";