Oppure

Loading
09/01/12 12:19
popp109
Salve ragazzi per farvi capire la mia domanda vi scrivo guesto esempio:

  char pp[] = {0303,0250,Salve ragazzi per farvi capire la mia domanda vi scrivo guesto esempio:


  char pp[] = {0303,0250,{parsed_message}};  // carattere è

  string strpp = pp;

  cout << "A=" << pp.length();
  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:

  char pp[] = {0303,0250,...,...{parsed_message}};

  string strpp = pp;

  cout << "A=" << pp.length();
  cout << "\nB=" << vcslen(strpp.c_str());
  


con risultato:
A=3
B=1

o a quattro byte
A=4
B=1

grazie.}; // carattere è string strpp = pp; cout << "A=" << pp.length(); 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:

  char pp[] = {0303,0250,...,...Salve ragazzi per farvi capire la mia domanda vi scrivo guesto esempio:


  char pp[] = {0303,0250,{parsed_message}};  // carattere è

  string strpp = pp;

  cout << "A=" << pp.length();
  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:

  char pp[] = {0303,0250,...,...{parsed_message}};

  string strpp = pp;

  cout << "A=" << pp.length();
  cout << "\nB=" << vcslen(strpp.c_str());
  


con risultato:
A=3
B=1

o a quattro byte
A=4
B=1

grazie.}; string strpp = pp; cout << "A=" << pp.length(); cout << "\nB=" << vcslen(strpp.c_str());


con risultato:
A=3
B=1

o a quattro byte
A=4
B=1

grazie.
aaa
12/01/12 14:52
pierotofy
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?
Il mio blog: piero.dev