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 转义序列

转义序列 意义 注释
\newline 反斜杠加换行全被忽略
\\ 反斜杠 (\)
\‘ 单引号 ()
\" 双引号 (")
\a ASCII 响铃 (BEL)
\b ASCII 退格 (BS)
\f ASCII 进纸 (FF)
\n ASCII 换行 (LF)
\r ASCII 回车 (CR)
\t 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 注释

  1. 与标准 C 一致,接受最多三个八进制数码。
  2. 与标准 C 不同,要求必须为两个十六进制数码。
  3. 在字节串字面值中,十六进制数和八进制数转义码以相应数值代表每个字节。在字符串字面值中,这些转义码以相应数值代表每个 Unicode 字符。
  4. 在 3.3 版更改: 加入了对别名 1 的支持。
  5. 要求必须为四个十六进制数码。
  6. 此方式可用来表示任意 Unicode 字符。要求必须为八个十六进制数码。

2、通用转义序列

转义序列 意义 注释
\newline 反斜杠加换行全被忽略
\\ 反斜杠(\)
\‘ 单引号()
\" 双引号(")
\a ASCII响铃(BEL)
\b ASCII退格(BS)
\f ASCII进纸(FF)
\n ASCII换行(LF)
\r ASCII回车(CR)
\t ASCII水平制表(TAB)
\v ASCII垂直制表(VT)
\ooo 八进制ooo码位字符
\xhh 十六进纸hh码位字符

原文地址:https://www.cnblogs.com/wdzn/p/12244646.html

时间: 2024-10-19 11:30:17

2、词法分析--4、字面值--1、字符串和字节串的相关文章

python常用的十进制、16进制、字符串、字节串之间的转换(长期更新帖)

进行协议解析时,总是会遇到各种各样的数据转换的问题,从二进制到十进制,从字节串到整数等等 废话不多上,直接上例子 整数之间的进制转换: 10进制转16进制: hex(16)  ==>  0x10 16进制转10进制: int('0x10', 16)  ==>  16 类似的还有oct(), bin() ------------------- 字符串转整数: 10进制字符串: int('10')  ==>  10 16进制字符串: int('10', 16)  ==>  16 16进

python经常使用的十进制、16进制、字符串、字节串之间的转换(长期更新帖)

进行协议解析时.总是会遇到各种各样的数据转换的问题,从二进制到十进制,从字节串到整数等等 废话不多上.直接上样例 整数之间的进制转换: 10进制转16进制: hex(16)  ==>  0x10 16进制转10进制: int('0x10', 16)  ==>  16 类似的还有oct(), bin() ------------------- 字符串转整数: 10进制字符串: int('10')  ==>  10 16进制字符串: int('10', 16)  ==>  16 16进

python中的字符串和字节串

字节概念: 字节(Byte )是计算机信息技术用于计量存储容量的一种计量单位,作为一个单位来处理的一个二进制数字串,是构成信息的一个小单位.最常用的字节是八位的字节,即它包含八位的二进制数. 位:(bit):是计算机 内部数据 储存的最小单位,11001100是一个八位二进制数. 字节:(byte):是计算机中 数据处理 的基本单位,习惯上用大写  B  来表示,1B(byte,字节)= 8bit(位). 字符概念 字符 是指计算机中使用的字母.数字.字和符号,包括:1.2.3.A.B.C.~!

python字典、字符串(json串)、字节串之间的转化

字典和json字符串(本质也是字符串)之间的转化用json.dumps和json.loads() json.dumps():   字典→json字符串 json.loads():     json字符串→字典 字符串和字节串之间的转化用encode()和decode() encode():   字符串→字节串 decode():   字节串→字符串 所以这三种类型的数据可以通过字符串这个中间量进行转化,达到字典和字节串的互相转化. 例如request.body 原文地址:https://www.

ParisGabriel:Python全栈工程师(0基础到精通)教程 第二十二课(迭代器、字节串)

ParisGabriel 每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰 Python人工智能从入门到精通 迭代器 Iterator: 用<>括号表示的一定是对象 什么是迭代器? 迭代器是访问可迭代对象的工具 迭代器是指用iter(obj) 函数返回的对象(实例) 迭代器可以用next(it) 函数获取可迭代对象的数据 迭代器函数iter和next iter(iterable) 从可迭代对象中返回一个迭代器,iterable 必须是能提供一个迭代器的对象 next(iterator

IO,文件,字节串(bytes),文件读写基本操作

IO 1. 定义 >在内存中存在数据交换的操作认为是IO操作,比如和终端交互 ,和磁盘交互,和网络交互等 2. 程序分类 >* IO密集型程序:在程序执行中有大量IO操作,而cpu运算较少.消耗cpu较少,耗时长. >* 计算密集型程序:程序运行中计算较多,IO操作相对较少.cpu消耗多,执行速度快,几乎没有阻塞. 文件 文件是保存在持久化存储设备(硬盘.U盘.光盘..)上的一段数据.从功能角度分为文本文件(打开后会自动解码为字符).二进制文件(视频.音频等).在Python里把文件视作

面试题之java 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 要求不能出现截半的情况

题目:10. 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串. 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”. 一.需要分析 1.输入为一个字符串和字节数,输出为按字节截取的字符串-------------->按照字节[byte]截取操作字符串,先将String转换成byte类型 .2.汉字不可以截半----------------------------------

求一个字符串的字节长度

编写一个方法 求一个字符串的字节长度 假设:一个英文字符占用一个字节,一个中文字符占用两个字节 function GetBytes(str){ var len = str.length; var bytes = len; for(var i=0; i<len; i++){ if (str.charCodeAt(i) > 255) bytes++; } return bytes; } alert(GetBytes("你好,as"));

C# 16进制与字符串、字节数组之间的转换

1.请问c#中如何将十进制数的字符串转化成十六进制数的字符串 //十进制转二进制 Console.WriteLine("十进制166的二进制表示: "+Convert.ToString(166, 2)); //十进制转八进制 Console.WriteLine("十进制166的八进制表示: "+Convert.ToString(166, 8)); //十进制转十六进制 Console.WriteLine("十进制166的十六进制表示: "+Con