C++ ICU字符不';使用UNICODE\u字符串\u SIMPLE时不匹配
我需要了解UNICODE\u STRING\u SIMPLE宏在使用“\uhhh”时的行为 我有以下代码: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(
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;