2词法分析--4字面值--1字符串和字节串
Posted wdzn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2词法分析--4字面值--1字符串和字节串相关的知识,希望对你有一定的参考价值。
1、字符串和字节串
1.1 描述
两种串值都使用成对单引号或双引号来表示首尾,也可以使用三引号来表示。
1.2 字符串的转义
反斜杠 () 字符被用来对特殊含义的字符进行转义。
1.3 字节字符串
字符串带有前缀 ‘b‘
或 ‘B‘
。字节串只能包含ASCII字符,字节对应数值在128以内。
1.4 原始字符串
字符串带有前缀 ‘r‘
或 ‘R‘
。原始字符串中的反斜杠会被当做字面字符来处理。
1.5 格式化字符串
字符串前缀带有 ‘f‘
或 ‘F‘
。
‘f‘
可与 ‘r‘
连用,但不能与 ‘b‘
或 ‘u‘
连用,因此存在原始格式化字符串,但不存在字节字符串。
1.6 转义序列
转义序列 | 意义 | 注释 |
---|---|---|
ewline |
反斜杠加换行全被忽略 | |
\ |
反斜杠 ( ) |
|
‘ |
单引号 (‘ ) |
|
" |
双引号 (" ) |
|
a |
ASCII 响铃 (BEL) | |
|
ASCII 退格 (BS) | |
f |
ASCII 进纸 (FF) | |
|
ASCII 换行 (LF) | |
|
ASCII 回车 (CR) | |
|
ASCII 水平制表 (TAB) | |
v |
ASCII 垂直制表 (VT) | |
ooo |
八进制数 ooo 码位的字符 | (1,3) |
xhh |
十六进制数 hh 码位的字符 | (2,3) |
1.6.1 仅在字节字符串中可用的转义序列
转义序列 | 意义 | 注释 |
---|---|---|
N{name} |
Unicode 数据库中名称为 name 的字符 | (4) |
uxxxx |
16位十六进制数 xxxx 码位的字符 | (5) |
Uxxxxxxxx |
32位16进制数 xxxxxxxx 码位的字符 | (6) |
1.6.2 注释
- 与标准 C 一致,接受最多三个八进制数码。
- 与标准 C 不同,要求必须为两个十六进制数码。
- 在字节串字面值中,十六进制数和八进制数转义码以相应数值代表每个字节。在字符串字面值中,这些转义码以相应数值代表每个 Unicode 字符。
- 在 3.3 版更改: 加入了对别名 1 的支持。
- 要求必须为四个十六进制数码。
- 此方式可用来表示任意 Unicode 字符。要求必须为八个十六进制数码。
2、通用转义序列
转义序列 | 意义 | 注释 |
---|---|---|
ewline |
反斜杠加换行全被忽略 | |
\ |
反斜杠( ) |
|
‘ |
单引号(‘ ) |
|
" |
双引号(" ) |
|
a |
ASCII响铃(BEL) | |
|
ASCII退格(BS) | |
f |
ASCII进纸(FF) | |
|
ASCII换行(LF) | |
|
ASCII回车(CR) | |
|
ASCII水平制表(TAB) | |
v |
ASCII垂直制表(VT) | |
ooo |
八进制ooo码位字符 | |
xhh |
十六进纸hh码位字符 |
以上是关于2词法分析--4字面值--1字符串和字节串的主要内容,如果未能解决你的问题,请参考以下文章