C++新特性 chr类型编码
C++中char类型可以指定其编码,不同的编码占用的字节不同.
vs编译器中char类型默认GBK编码,可以指定其类型如 u 指定UTF-16编码 u8 指定UTF-8密码
如下程序所示:
#include <iostream>
using namespace std;
void main(){//VS编译器中字默认GBK编码,一个汉字2字节.char str1[] = { "你好" }; //4//u8 指定使用UTF-8编码,一个汉字3字节.char str2[] = { u8"你好" }; //6cout << strlen(str1) << endl; //输出4cout << strlen(str2) << endl; //输出6//u 表示UTF-16编码 每个字符占用16为即一个汉字2个字节//但是其字符串结束符,也用2个字节;char16_t str3[] = { u"你好" }; //6//测试str3占用了多少字节char* p = (char*)str3;for (int i = 0; i < sizeof(str3); i++) {printf("%d ", p[i]);}printf("\n\n");
}
