C++ 中char wchar wchar_t char16_t char32_t 以及中文编码的问题

综述

  最近一直疑惑于C++中对于字符串存储相关的问题,经过深入研究,现做如下探讨,有错误之处,请留言。

char wchar_t char16_t char32_t 区别

  • 首先这几种字符类型的首要区别就是其占用存储空间的大小不同。char 有一个字节表示,wchar_t 宽体字符,由两个字符表示。char16_t,char32_t C++ 11 新增的字符类型,char16_t 占两个字节,char32_t 占四个字节。
  • 字符数组初始化方式不同,请留意如下代码的字符串前缀。
#include <iostream>
#include <string>

using namespace std;

int main()
{
	char nameChar[] = "This is a char array";
	wchar_t nameWchar[] = L"This is a wchar array";
	char16_t nameChar16[] = u"This is a char16 array";
	char32_t nameChar32[] = U"This is a char32 array";
	cin.get();
}

中文编码问题

  1. 我们首先研究中文字符常量存储编码同代码文件编码格式的关联关系。
  • 当代码文件的编码方式为Unic
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值