相关疑难解决方法(0)

wchar_t到底能代表什么?

根据cppreference.com的文档wchar_t:

wchar_t - 用于宽字符表示的类型(请参阅宽字符串).要求足够大以表示任何支持的字符代码点(在支持Unicode的系统上为32位.一个值得注意的例外是Windows,其中wchar_t是16位并且保存UTF-16代码单元)它具有相同的大小,签名和对齐作为整数类型之一,但是是一个不同的类型.

标准说[basic.fundamental]/5:

Type wchar_­t是一种不同的类型,其值可以表示支持的语言环境中指定的最大扩展字符集的所有成员的不同代码.类型wchar_­t应具有与其他整数类型相同的大小,符号和对齐要求,称为其基础类型.类型char16_­tchar32_­t表示不同类型与大小相同,符号性,和对准如uint_­least16_­tuint_­least32_­t,分别在<cstdint>,称为基础类型.

所以,如果我想处理unicode字符,我应该使用wchar_t吗?

同样地,我怎么知道,如果一个特定的Unicode字符"支持"wchar_t

c++ unicode character-encoding

21
推荐指数
3
解决办法
2084
查看次数

标签 统计

c++ ×1

character-encoding ×1

unicode ×1