如何为unicode字符制作小写字母
how to Make lower case letters for unicode characters
我在VC++MFC中转换为unicode字符的小写字母时遇到问题。我在CString变量中有unicode字符。因此,使用English MakeLower()可以很好地工作,我可以使用小写字母。但它无法将unicode字符转换为小写字母。我确实尝试了STL算法转换:
std::string data="ИИЛЛ"//凸出焦
std::transform(data.begin(),data.end(),data.begin),::tolower);
但它无法加载unicode字符,我得到了"???"符号来代替unicode字符。
你能告诉我是否有unicode字符的解决方案吗?我不喜欢使用boost库。提前感谢!
如果您的项目使用Unicode字符集(项目属性),CString::MakeLower()
应该可以工作--请注意,这不会转换字符串的内容,它会返回一个新字符串,请参阅MSDN文章:
CString s1(_T("ABC")), s2;
s2 = s1.MakeLower();
ASSERT(s2 == _T("abc"));
EDIT:CString::MakeLower()确实更改了字符串的内容,它还返回了对转换字符串的引用
尝试
std::wstring data = L"ИИИЛЛЛЛ"; // Wide chars
std::transform(data.begin(), data.end(), data.begin(), std::tolower<wchar_t>);
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- 最小硬币更换问题(自上而下方法)
- C++字符*缓冲区的大小
- HEX值到wchar_t字符(UTF-8)的转换
- Qt VTK交互风格的信号到小部件
- 为什么 Serial.println(<char[]>);返回随机字符?
- 我的字符计数代码计算错误.为什么
- 字符串-C++后显示的随机字符
- 芬威克树(BIT).找到具有给定累积频率的最小索引,单位为 O(logN)
- 如何在Qt窗口小部件中使用QStringView(或QStringRef)
- 相同字符之间的最小距离
- 如何在C++中将单个字符哈希为相对较小的素数?
- 如何拒绝 cin 中的字符输入并定义最小和最大整数值
- 每次循环时,输出一个具有较小字符的字符阵列
- 如何知道小部件是否只接受数字字符
- 将部分字符*替换为较小的字符*
- 为字符C++指定最小值
- C++小字符到十六进制函数
- 有没有一种方便的方法可以通过一些Qt小部件只输入一个字符
- DP方法,用于生成字符串回文时应添加的最小字符数