转自:http://c.biancheng.net/cpp/html/1069.html

Unicode或者宽字符都没有改变char数据型态在C中的含义。char继续表示1个字节的储存空间,sizeof (char)继续返回1。理论上,C中1个字节可比8位长,但对我们大多数人来说,1个字节(也就是1个char)是8位宽。

C中的宽字符基于wchar_t数据型态,它在几个表头文件包括WCHAR.H中都有定义,像这样:

typedef unsigned short wchar_t ;

因此,wchar_t数据型态与无符号短整数型态相同,都是16位宽。

要定义包含一个宽字符的变量,可使用下面的语句:

wchar_t c = 'A' ;

变量c是一个双字节值0x0041,是Unicode表示的字母A。(然而,因为Intel微处理器从最小的字节开始储存多字节数值,该字节实际上是以0x41、0x00的顺序保存在内存中。如果检查Unicode文字的计算机储存应注意这一点。)

您还可定义指向宽字符串的指针:

wchar_t * p = L"Hello!" ;

注意紧接在第一个引号前面的大写字母L(代表「long」)。这将告诉编译器该字符串按宽字符保存-即每个字符占用2个字节。通常,指针变量p要占用4个字节,而字符串变量需要14个字节-每个字符需要2个字节,末尾的0还需要2个字节。

同样,您还可以用下面的语句定义宽字符数组:

static wchar_t a[] = L"Hello!" ;

该字符串也需要14个字节的储存空间,sizeof (a) 将返回14。索引数组a可得到单独的字符。a[1] 的值是宽字符「e」,或者0x0065。

虽然看上去更像一个印刷符号,但第一个引号前面的L非常重要,并且在两个符号之间必须没有空格。只有带有L,编译器才知道您需要将字符串存为每个字符2字节。稍后,当我们看到使用宽字符串而不是变量定义时,您还会遇到第一个引号前面的L。幸运的是,如果忘记了包含L,C编译器通常会给提出警告或错误信息。

您还可在单个字符文字前面使用L前缀,来表示它们应解释为宽字符。如下所示:

wchar_t c = L'A' ;

但通常这是不必要的,C编译器会对该字符进行扩充,使它成为宽字符。

C++在字符串前加一个L作用:

在字符串前加一个L作用:    如 L"我的字符串" 表示将ANSI字符串转换成unicode的字符串,就是每个字符占用两个字节.    strlen("asd&quot ...

[Python][小知识][NO.1] Python字符串前 加 u、r、b 的含义

1.字符串前加 u 例:u"我是含有中文字符组成的字符串." 作用:后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出 ...

scala字符串前加s使用$

https://my.oschina.net/u/2000675/blog/1592140 字符串中的变量替换,Scala中基础的字符串插值就是在字符串前加字幕‘s’,然后在字符串中放入变量,每个变量 ...

Python基础字符串前加u,r,b,f含义

1.字符串前加 u 例:u"我是含有中文字符组成的字符串." 作用: 后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时 ...

c# 字符串前加@

@在c#中为强制不转义的符号,在里面的转义字符无效. 例如:Console.WriteLine("你好\t吗?"); Console.WriteLine(@"你好\t吗& ...

转 python 字符串前加r

在打开文件的时候open(r'c:\....') 加r和不加''r是有区别的 'r'是防止字符转义的 如果路径中出现'\t'的话 不加r的话\t就会被转义 而加了'r'之后'\t'就能保留原有的样子 ...

python中文字符串前加u

我明明在编码前就加上了# -*- coding: UTF-8 -*-可是运行时还是出错了, # -*- coding: UTF-8 -*- 这句是告诉python程序中的文本是utf-8编码,让pyt ...

php function 定义时函数名前加&符号的意义

看了很多帖子,但是都不能理解,又去看了很多资料,终于名白了.记下备忘. 问题:php在声明函数时,函数名前面的&符号有什么用? 一直想不通.很多帖子说类似于变量的$a=&$b,但是$b ...

t-sql中字符串前加N代表什么意思

比如 select @status = N'stopped' 那么其中的字符串 stopped 前面为什么要加 N 呢?而且我们发现有些地方加 N 与否都没有影响,有些地方又必须加 N. N 在这里表 ...

随机推荐

replace截取字段

var a = '123:'b = '123:disfkajsdhfjkasdhf'c = b.replace(a, '')"disfkajsdhfjkasdhf"

linux应用程序开发-文件编程-系统调用方式

在看韦东山视频linux驱动方面有一些吃力,究其原因,虽然接触过linux应用程序编程,但是没有深入去理解,相关函数用法不清楚,正好看到国嵌视频对这一方面讲的比较透彻, 所以把学习过程记录下来,也作为 ...

java代码性能优化总结(转载)

原文链接:http://developer.51cto.com/art/201511/496263.htm 前言 代码优化,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改 ...

mysql 添加字段、删除字段、调整字段顺序 转

ALTER TABLE — 更改表属性添加字段: alter table `user_movement_log`Add column GatewayId int  not null default 0 ...

sass ruby环境 安装配置,使用sublime text3 中sass

首先,你想要使用sass的话,就必须依赖于ruby环境.所以,你要下一个ruby.具体的链接应该是(http://rubyinstaller.org/downloads).下载相应的版本.- 下载好之 ...

Idea中在代码顶部添加自定义作者和时间

一.在工具栏找到File=>settings=>Editor=>File and Code Templates 二.选择右边的File Header,在编辑框中添加自定义信息,例如: ...

04 Python数据类型

Python 数据型1. int: 1,2,3 ....2. bool: True False3. str: 存贮少量数据 'asjkdh','工查'4. list: 列表,存贮大量数据 [1,2,3 ...

NodeJS的url验证库模块url-valid

这是我10月份做的项目其中的一个部件,主要用于url检验的. 我们知道Javascript做url检验,通常是使用正则表达式来判定,其格式是否正确,例如: /^https?:\/\//.test(ur ...

rem 布局的闪现问题

了解MapReduce_2

再写MapReduce执行流程之前,首先先对MapReduce有一些了解: 1. 简介 MapReduce是一个计算框架,既然是做计算的框架,那么表现的形式上就有输入,操作输入,得到结果2.主从结构 ...

c语言字母意义,C语言 字符串前加L的意义 如:L“A”相关推荐

  1. Python 字符串前加r,b,u

    目录 问题描述 1.字符串前加字母`u` 2.字符串前加字母`r` 3.字符串前加字母`b` 问题描述 在处理python代码的时候,经常可以看到字符串的前面有u, b, 或r字母,如下图所示: b' ...

  2. python 字符串前加u r b的意义

    摘自:https://www.cnblogs.com/liangmingshen/p/9274021.html 1.字符串前加 u 例:u"我是含有中文字符组成的字符串." 作用: ...

  3. 数据库工作笔记016---SqlServer2016_日期处理_ntext和text区别_开启远程连接_查看系统COm组件_Browser服务无法启动_导出数据_字符串前加N

    JAVA技术交流QQ群:170933152 sqlserver中的类型: ntext和text一样用来保存大量的文字数据,不过text用单字节保存数据 ,ntext固定用双字节保存数据. ntext保 ...

  4. python 字符串前加r b u f 含义

    python 字符串前加r b u f 含义 文章目录: 一.字符串前加 `r` 二.字符串前加 `b` 三.字符串前加 `u` 四.字符串前加 `f` 五.Python3.x中字符串转换成字节类型 ...

  5. Python字符串前加f、r、b、u的不同用法

    一.字符串前加"f" 1. % 可以使用 % 格式化字符串. c = (250, 250) # 使用 % 格式化 s1 = "坐标为:%s" % c # Typ ...

  6. 【python】字符串前加u,r,b,f的含义

    目录 1 字符串前加 u 2 字符串前加 r 3 字符串前加 b 4 字符串前加 f 1 字符串前加 u 例:u"我是含有中文字符组成的字符串." 作用: 后面字符串以 Unico ...

  7. python各符号@、%、#、[:]等用法,字符串前加字符urbf的用法

    @装饰器 @装饰器必须出现在函数定义前一行,不允许和函数定义在同一行. 只可以在模块或类定义层内对函数进行装饰,不允许装饰一个类.一个装饰器就是一个函数,将被装饰的函数做为参数,并返回被装饰的同名函数 ...

  8. python字符串前面加f什么意思,浅析python字符串前加r、f、u、l 的区别

    先给大家介绍下Python 字符串前面加u,r,b,f的含义(字符串前缀) 1.字符串前加 u 例:u"我是含有中文字符组成的字符串." 作用: 后面字符串以 Unicode 格式 ...

  9. python——%s,%d,%f和字符串前加r,f,b,u用法讲解

    一.%s:打印字符串 举例说明:  %s相当于就是替换字符串的意思,以第一个为例,print("大家好,我叫%s"%name),他的意思是,把%s所在的位置的值替换成%后面指定的字 ...

最新文章

  1. Fastdfs-企业级分布式存储应用
  2. Redis进阶-缓存问题
  3. 天猫超市回应“大数据杀熟”传言:系新人专享价未显示
  4. 直播预告|阿里云天池牛年读书会《中学生可以这样学Python(微课版)》
  5. Xtrareport 交叉报表
  6. VB 阿拉伯数字转换为中文大写数值函数
  7. 步步为营 .NET三层架构解析 三、SQLHelper设计
  8. 微软高性能缓存AppFabric(二)使用
  9. Arcgis使用教程(九)ARCGIS空间数据符号化
  10. 【动态规划】CH_0103 最短Hamilton路径
  11. 100天精通Python(基础篇)——第19天:练习题:我要买票吗
  12. 【编译原理】构造产生如下语言的上下文无关文法各一个:
  13. 什么是数据清洗?数据清洗的原理是什么?
  14. IDEA 快捷键及修改
  15. ios逆向学习环境安装(一)
  16. seo vue 动态路由_基于Vue SEO的四种方案
  17. python爬取肯德基店面数据
  18. 从华为离职了,从华为转正到离职的经历,一起看看他的故事
  19. Homogeneous和Heterogeneous区别
  20. pmp考试难通过吗?

热门文章

  1. MyBatis-Spring-Boot-Starter学习
  2. 大华大屏显示高清服务器4u,【功能实测】大华股份DH-M70-4U-D 分布式视频云显控平台...
  3. c语言函数可视化,求在已经完成的c语言程序《万年历》中添加可视化效果
  4. ENVI_IDL: 创建HDF5文件并写入数据(以将Geotiff文件写入HDF文件为例) + 详细解析
  5. 进销存系统和ERP系统怎么选?有什么区别?
  6. 对MYSQL数据库进行数据恢复
  7. Spring Boot项目打包部署
  8. 网易蜗牛读书产品体验报告(1.9.6版本)
  9. linux 优化脚本 关闭服务器,linux服务器一键优化脚本
  10. Shell脚本:一键优化系统脚本