Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. 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.


L'anno 1968 e' bastata la potenza di due Commodore-64 per lanciare con successo una nave spaziale sulla Luna.Il miglior processore di oggi serve a far girare  windows
PM
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6109
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


Seguimi su Twitter: http://www.twitter.com/pierotofy

Fai quello che ti piace, e fallo bene.
PM