python(ch2)

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

可变长编码和不可变长编码

可变长编码是指不同字符使用不同数量的字节进行编码。例如,UTF-8 编码中,ASCII 字符使用 1 个字节编码,而其他语言的字符使用 2 个或更多字节编码。

不可变长编码是指所有字符都使用相同数量的字节进行编码。例如,UCS-2 编码中,所有字符都使用 2 个字节编码。

可变长编码的优点

  • 节省空间:对于使用大量 ASCII 字符的文本,可变长编码比不可变长编码节省空间
  • 易于扩展:可变长编码可以轻松扩展以支持新的字符

可变长编码的缺点

  • 处理复杂:由于字符长度不固定,处理可变长编码的文本比处理不可变长编码的文本更复杂
  • 兼容性问题:并非所有系统都支持可变长编码

不可变长编码的优点

  • 处理简单:由于字符长度固定,处理不可变长编码的文本比处理可变长编码的文本更简单
  • 兼容性好:大多数系统都支持不可变长编码

不可变长编码的缺点

  • 浪费空间:对于使用大量非 ASCII 字符的文本,不可变长编码会浪费空间
  • 难以扩展:不可变长编码难以扩展以支持新的字符

总结

可变长编码和不可变长编码各有优缺点。选择哪种编码取决于具体应用场景。

以下是一些选择可变长编码的场景

  • 需要节省空间
  • 需要支持多种语言

以下是一些选择不可变长编码的场景

  • 需要简单易用的编码
  • 需要与其他系统兼容

一些常见的可变长编码

  • UTF-8
  • UTF-16
  • UTF-32

一些常见的不可变长编码

  • ASCII

  • UCS-2

  • UCS-4
    UTF-8 编码是可变长编码,因为不同字符使用不同数量的字节进行编码。

  • ASCII 字符使用 1 个字节编码

  • 西欧语言的大多数字符使用 2 个字节编码

  • 其他语言的字符使用 3 个或更多字节编码

可变长编码有以下优点:

  • 节省空间:对于使用大量 ASCII 字符的文本,UTF-8 编码比固定长编码(如 UCS-2)节省空间
  • 易于扩展:UTF-8 可以轻松扩展以支持新的字符

缺点:

  • 处理复杂:由于字符长度不固定,处理 UTF-8 编码的文本比处理固定长编码的文本更复杂
  • 兼容性问题:并非所有系统都支持 UTF-8 编码

UTF-8 编码规则

  • 1 个字节:0xxxxxxx
  • 2 个字节:110xxxxx 10xxxxxx
  • 3 个字节:1110xxxx 10xxxxxx 10xxxxxx
  • 4 个字节:11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

示例

  • 字符 “A” 的 Unicode 码点是 U+0041,使用 1 个字节编码为 01000001
  • 字符 “中” 的 Unicode 码点是 U+4E2D,使用 3 个字节编码为 11100100 10100101 10010100

总结

UTF-8 编码是一种可变长编码,具有节省空间和易于扩展的优点,但也存在处理复杂和兼容性问题等缺点。

在这里插入图片描述运行结果是 “python love i”

解释

  1. string.split() 将字符串 string 以空格 ( ) 为分隔符分割成一个列表
  2. reversed(string.split()) 将列表 string.split() 反转
  3. " ".join(reversed(string.split())) 将列表 reversed(string.split()) 中的元素以空格 ( ) 为连接符连接成一个字符串

示例

string = "i love python"# 将字符串分割成列表
split_list = string.split()# 反转列表
reversed_list = reversed(split_list)# 将列表连接成字符串
joined_string = " ".join(reversed_list)print(joined_string)

输出

python love i

注意

  • split() 方法默认以空格 ( ) 为分隔符
  • join() 方法默认以空格 ( ) 为连接符
  • 可以指定分隔符和连接符
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述运行结果是 “b a g”

解释

  • s.split(",") 将字符串 s 以逗号 (,) 为分隔符分割成一个列表
  • " ".join(s.split(",")) 将列表 s.split(",") 中的元素以空格 ( ) 为连接符连接成一个字符串

示例

s = "b,a,g"# 将字符串分割成列表
split_list = s.split(",")# 将列表连接成字符串
joined_string = " ".join(split_list)print(joined_string)

输出

b a g

注意

  • split() 方法默认以空格 ( ) 为分隔符
  • join() 方法默认以空格 ( ) 为连接符
  • 可以指定分隔符和连接符
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/703840.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

甲氧基 PEG4 二苯并环辛烯,mPEG4 DBCO,可以与多种基团发生反应

甲氧基四聚乙二醇二苯并环辛烯,甲氧基 PEG4 二苯并环辛烯,mPEG4 DBCO,DBCO mPEG4,m-PEG4-DBCO,mPEG4-DBCO,可以与多种基团发生反应 您好,欢迎来到新研之家 文章关键词:甲氧基四聚乙…

【Python_Zebra斑马打印机编程学习笔记(三)】解决ZPL指令无法显示中文的问题

解决ZPL指令无法显示中文的问题 解决ZPL指令无法显示中文的问题前言一、问题描述二、字符集、码表文件、字库文件1、字符集2、码表文件3、字库文件 三、两种设置中文字体的方式1、通过设置字符集、码表文件、字库文件改变默认字体2、通过^CF指令设置标准字体名称改变默认字体 解…

Linux命令行常用命令

初识shell shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。实际上shell是一个命令解释器,它解释用户输入的命令并且把用户的意图传达给内核。(可以理解为用户与内核之间的翻译官…

【算法训练营】最小交换,楼尔邦德,最短路(python实现)

最小交换 时间限制:4 sec 空间限制:256 MB 问题描述 给定一个 1 到 n 的排列(即一个序列,其中 [1,n] 之间的正整数每个都出现了恰好 1 次)。 你可以花 1 元钱交换两个相邻的数。 现在,你希望把它们升序排序…

如何本地部署LightPicture结合cpolar内网穿透打造个人云图床

文章目录 1.前言2. Lightpicture网站搭建2.1. Lightpicture下载和安装2.2. Lightpicture网页测试2.3.cpolar的安装和注册 3.本地网页发布3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1.前言 现在的手机越来越先进,功能也越来越多,而手机…

还不知道随身WiFi这个蓝海市场怎么做?这个一定要看!适合30-40岁轻资产小生意

有没有发现你身边的人最近都在失业?无论是国企的、事业编的、又或者是民营企业的都在欠薪或者失业,看来经济寒潮是真的来了。虽然经济大环境不好,但是仍然涌现出了物联网、人工智能、大数据等新兴的蓝海市场。可是很多创投圈的朋友都表示&…

Spring-Boot常见的应用属性配置集

深入之前先用好,用好之前先全面了解功能。 全面了解功能可以从官方文档的配置参数选项作为切入点。 Appendix A. Common application properties - Spring # # COMMON SPRING BOOT PROPERTIES # 常见的Spring Boot属性集 # # This sample file is provided as a g…

CPU 算力分配(C语言)

题目来自于博主算法大师的专栏:最新华为OD机试C卷AB卷OJ(CJavaJSPy) https://blog.csdn.net/banxia_frontend/category_12225173.html 题目描述 现有两组服务器A和B,每组有多个算力不同的CPU,其中 A[i] 是 A 组第 i …

【机器学习学习脉络】

机器学习学习脉络 基础知识 数学基础 线性代数概率论与数理统计微积分最优化理论 编程基础 Python编程语言数据结构与算法软件工程原则 计算机科学基础 操作系统网络通信数据库系统 机器学习概论 定义与发展历程机器学习的主要任务和应用领域基本术语和概念 监督学习 线…

15:00面试,15:06就出来了,问的问题过于变态了。。。

我从一家小公司转投到另一家公司,期待着新的工作环境和机会。然而,新公司的加班文化让我有些始料未及。虽然薪资相对较高,但长时间的工作和缺乏休息使我身心俱疲。 就在我逐渐适应这种高强度的工作节奏时,公司突然宣布了一则令人…

蓝桥杯-最小砝码

知识点&#xff1a;本题主要考察任何一个物体都可以用 3进制表示。 #include <iostream> #include<cmath> using namespace std; //知识点:任何一个物体都可以用 3进制表示 int main() { int n; cin >> n; int sum 0; for (int i 0;; i)…

多表联合分页查询(一)----数据库与返回实体类准备

目录 一、数据库表准备1.文章表2.用户表3.用户详细信息表4.用户点赞表5.用户评论表 二、需求描述三、返回实体类 一、数据库表准备 1.文章表 CREATE TABLE yan_article (id bigint(20) NOT NULL,summary varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NU…

vue2实现无感刷新token

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 &#x1f4d8; 引言&#xff1a; &#x1f4…

【Vue3】学习watch监视:深入了解Vue3响应式系统的核心功能(上)

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

携程token算法分析

声明 本文以教学为基准、本文提供的可操作性不得用于任何商业用途和违法违规场景。 本人对任何原因在使用本人中提供的代码和策略时可能对用户自己或他人造成的任何形式的损失和伤害不承担责任。 如有侵权,请联系我进行删除。 这里只是我分析的分析过程,以及一些重要点的记录…

[云原生] k8s中kubectl陈述式资源管理

一、管理k8s核心资源的两种基本方法 陈述式资源管理方法 --主要依赖命令行工具kubectl进行管理 优点 可以满足90%以上的使用场景 对资源的增、删、查操作比较容易 缺点 命令冗长&#xff0c;复杂&#xff0c;难以记忆 特定场景下&#xff0c;无法实现管理需求 对资源的修改…

每日汇评:英镑可能走高,而1.2650支撑位保持不变

英镑/美元上周收于正值区域&#xff1b; 1.2650是该货币对的关键近期支撑位&#xff1b; 如果市场情绪恶化&#xff0c;该货币对的上涨空间可能仍然有限&#xff1b; 英镑/美元利用围绕美元的广泛抛售压力&#xff0c;自 1 月初以来首次录得周涨幅。 周一早盘该货币对稳定在 1.…

TF-A之供应链威胁模型分析

目录 一、简介 二、TF-A 概述 2.1、TF-A 存储库 2.2、外部依赖 2.3、附加二进制文件 2.4、TF-A工具链 2.5、基础设施 三、TF-A

Premiere企业发展历程公司历史回顾视频制作pr时间线模板

企业发展历程公司历史回顾视频制作PR时间线模板mogrt。 项目特点&#xff1a;色彩控件&#xff0c;适用于任何字体&#xff0c;包含视频帮助&#xff0c;适用于Premiere Pro 2021及以上版本。 更多PR资源下载&#xff1a;https://prmuban.com/37916.html

java环境搭建

1.jdk下载安装 下载 https://www.oracle.com/java/technologies/downloads/ jdk21 安装完成 java.exe是执行程序 javac.exe是编译工具 配置JAVA_HOME 环境变量 java环境变量设为变量JAVA_HOME 加上bin,以后只用更改JAVA_HOME地址即可 2.idea安装 下载 https://www.jet…