Chinaunix首页 | 论坛 | 博客
  • 博客访问: 253746
  • 博文数量: 60
  • 博客积分: 1222
  • 博客等级: 少尉
  • 技术积分: 585
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-16 17:28
个人简介

从学通信的博士到从事IT行业的工程师 从原华为项目经理,到现任职公司架构师

文章分类

全部博文(60)

文章存档

2013年(18)

2012年(42)

我的朋友

分类: C/C++

2012-12-30 19:05:51

在新的C++标准C++11[1]中,增强了对Unicode的支持。

char被定义为能够存储UTF-8的8位编码。还增加了用于支持UTF-16和UTF-32的数据类型char16_t和char32_t。

Unicode是为了表示世界上所有语言而诞生的。任何文字在Unicode都对应一个值,称为代码点。UCS-2和UCS-4分别用2个和4个表示这种对应关系。这些定义没有说明代码点任何在计算机中存储,规定存储格式的标准称为UTF。

UTF-16和UTF-32分别对应存储UCS-2和UCS-4, 即它们都是定长(应该是变长)的。

UTF-8是变长编码,长度可从一个字节到四个字节。IETF要求所有互联网协议都支持UTF-8编码[3]。


[1]

[2] http://ping235.blog.163.com/blog/static/44476138201042711333577/

[3]

阅读(3309) | 评论(1) | 转发(0) |
0

上一篇:TCP Fast Open

下一篇:Redis虚拟内存介绍

给主人留下些什么吧!~~

hanhuili2013-01-01 15:04:49

旧有C和C++标准中,wchar_t代表宽字符,wstring是基于wchar_t的字符串类,wchar_t的长度随编译器不同而不同,对MAC OSX g++来说,它的长度是4.
为了明确宽字符的定义,在新的C11和C++11中都定义了新的字符变量类型char16_t和char32_t.