C++ ICU字符不';使用UNICODE\u字符串\u SIMPLE时不匹配

C++ ICU字符不';使用UNICODE\u字符串\u SIMPLE时不匹配,c++,unicode,icu,C++,Unicode,Icu,我需要了解UNICODE\u STRING\u SIMPLE宏在使用“\uhhh”时的行为 我有以下代码: cout<<"Char print out for À"<<endl; SCAUString us = UNICODE_STRING_SIMPLE ("À"); cout<<"us.countChar32()="<<us.countChar32()<<endl; for (int i=0; i<us.countChar32(

我需要了解UNICODE\u STRING\u SIMPLE宏在使用“\uhhh”时的行为

我有以下代码:

cout<<"Char print out for À"<<endl;
SCAUString us = UNICODE_STRING_SIMPLE ("À");
cout<<"us.countChar32()="<<us.countChar32()<<endl;
for (int i=0; i<us.countChar32(); i++)
  cout<<(int)us.charAt(i)<<" ";

cout什么是
SCAUString

\u
(单反斜杠)由编译器解释。也许编译器认为目标代码页与ICU期望的不一样

试试这个:

printf(“%x或%x?\n”,(int)“À”,(int)“u00C0”)

cout<<"\nChar print out for \\u00C0"<<endl;
us = UNICODE_STRING_SIMPLE ("\u00C0");
cout<<"us.countChar32()="<<us.countChar32()<<endl;
for (int i=0; i<us.countChar32(); i++)
  cout<<(int)us.charAt(i)<<" ";
testFile<<"5:"<< UNICODE_STRING_SIMPLE ("À"); // needs ustream.h
testFile<<endl;
testFile<<"6:"<< UNICODE_STRING_SIMPLE ("\u00C0"); // needs ustream.h
testFile<<endl;