C++高性能并行编程与优化 - 课件 - 15 C++ 系列课:字符与字符串
中的方法,方便用户通过模板扩展(性能上或功能上) 。 • 例如: basic_string。 char_traits 内函数的实现 Unicode 与宽字符 第 9 章 ASCII 码的局限 • 一开始的计算机是美国人发明的,他们只考虑到自己 方便,设计了 ASCII 码表,建立了英文字母和标点 符号到 0x00~0x7F 的一一映射。 ,那么看到其他编码格式的网站就会出现乱码。如何统一世界上这么多 文字的编码?所以出现了俗称“万国码”的 Unicode 。他给世界上所有的字符编 码,从英文字母到中文汉字到古埃及象形文字,现在全部都可以用一个 0x000000~0x10FFFF 的整数表示了,是不是很暴力? 暴力解决: UTF-32 • 但是 Unicode 表只解决了把全世界所有字符映射到一个 整数的问题,没有解决如何把 0x000000~0x10FFFF char 表示这么宽的字符?有很多种解决方案。 • 一种方案是:索性放弃 char ,改用 wchar_t 做字符类型 。 • wchar_t 在 Linux 上为 4 字节,完全足够表示 Unicode 这 0x000000~0x10FFFF 的范围,甚至还有 1 字节浪费 。 wchar_t 的普及 • 所以他们提议:以后用 const wchar_t * 代替 const char 0 码力 | 162 页 | 40.20 MB | 1 年前3C++23: An Overview of Almost All New and Updated Features
Erasure Removed Features Garbage Collection Support32 Named Universal Character Escapes Use Unicode assigned names instead of code point values Examples: Pre-C++23 // UTF-32 character literal0 码力 | 105 页 | 759.96 KB | 5 月前3
共 2 条
- 1