C++中怎样定义unicode字符?

xkzs222 2009-09-19 08:44:16
如题,本人c++菜鸟,找了很多资料都没有个满意的答案!
另c++中定义的string类型是ANSI码,还是unicode码?
如果是ANSI,在string类中有没有把中文字符从一个中英字符串中提取出来的最好的方法!
...全文
502 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
AldisZhan 2009-09-20
  • 打赏
  • 举报
回复
哦 学习了
老邓 2009-09-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 jackyjkchen 的回复:]
引用 4 楼 thy38 的回复:
mingw用wchar_t总是不方便
因为gcc用的不是UTF16
[/Quote]
没什么不方便的,用MinGW 4.4好了,对Unicode完美支持!
jackyjkchen 2009-09-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 thy38 的回复:]
mingw用wchar_t总是不方便
[/Quote]

因为gcc用的不是UTF16
thy38 2009-09-20
  • 打赏
  • 举报
回复
mingw用wchar_t总是不方便
I1U2V3 2009-09-19
  • 打赏
  • 举报
回复
wchar_t ch = L'C' ;

第二个问题是使用wstring 库,这个就可以装进UNICODe字符串,字符串里的英文字母的编码还是ANSI那么大,中文编码也有个范围,如果在中文范围内就提取出来就是了
老邓 2009-09-19
  • 打赏
  • 举报
回复
从string中提取中文字符串没有好办法,只能遍历,判断值的大小,从而判断汉字。网上有资料。
老邓 2009-09-19
  • 打赏
  • 举报
回复
std::string是ANSI,但std::wstring是Unicode
如果要定义Unicode,只需要在正常的ANSI字符串前加上“L”就可以了。
比如:
wchar_t* un = L"China!";
char* an = "China!";

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧