Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Caratteri multibyte
Forum - C/C++ - Caratteri multibyte

Avatar
popp109 (Normal User)
Rookie


Messaggi: 27
Iscritto: 27/11/2010

Segnala al moderatore
Postato alle 13:19
Lunedì, 09/01/2012
Salve ragazzi per farvi capire la mia domanda vi scrivo guesto esempio:

Codice sorgente - presumibilmente C/C++

  1. char pp[] = {0303,0250,\0};  // carattere è
  2.  
  3.   string strpp = pp;
  4.  
  5.   cout << "A=" << pp.length();
  6.   cout << "\nB=" << vcslen(strpp.c_str());



ottengo:
  A=2
  B=1
In pratica nel primo caso A è uguale a 2 perchè il carattere (é) è di due byte.
Nel secondo caso invece ottengo il numero di caratteri reali.

Ho bisogno di sapere se esistono caratteri che contengono 3 e 4 byte
esempio:

Codice sorgente - presumibilmente C/C++

  1. char pp[] = {0303,0250,...,...\0};
  2.  
  3.   string strpp = pp;
  4.  
  5.   cout << "A=" << pp.length();
  6.   cout << "\nB=" << vcslen(strpp.c_str());



con risultato:
  A=3
  B=1

o a quattro byte
  A=4
  B=1

grazie.

PM
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Up
1
Down
V
Segnala al moderatore
Postato alle 15:52
Giovedì, 12/01/2012
Dipende dalla codifica che stai usando... UTF-32 utilizza 4 bytes per carattere, di codifiche che ne utilizzano 3 non ne conosco, UTF-16 e' variabile e utilizza 1 o 2 bytes...

Era questa la tua domanda?

Scusami se non ti ho risposto subito ma ho avuto problemi negli ultimi mesi e finalmente li ho risolti.Era proprio quella la risposta che cercavo, grazie. - popp109 - 06/04/12 12:51


Il mio blog: https://piero.dev
PM