python(ch2)

news2024/12/23 9:08:27

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

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

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

可变长编码是指不同字符使用不同数量的字节进行编码。例如,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.coloradmin.cn/o/1472712.html

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

相关文章

【数据结构与算法】动态规划法解题20240227

动态规划法 一、什么是动态规划二、动态规划的解题步骤三、509. 斐波那契数1、动规五部曲: 四、70. 爬楼梯1、动规五部曲: 五、746. 使用最小花费爬楼梯1、动规五部曲: 一、什么是动态规划 动态规划,英文:Dynamic Pro…

物资管理新篇章:Java+SpringBoot实战

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

【Python_Zebra斑马打印机编程学习笔记(四)】ZPL的一些简单指令

ZPL的一些简单指令 ZPL的一些简单指令前言一、ZPL 介绍二、ZPL 语法解析1、标签开始、标签结束2、标签原点位置设置3、标签长度设置4、标签文本打印深度设置5、标签打印宽度设置6、标签方向设置7、标签元素定位8、标签绘制矩形9、标签输入字段10、标签设置字段字体、大小11、标…

【论文阅读-PRIVGUARD】Day3:1-2节

PRIVGUARD: Privacy Regulation Compliance Made Easier(PRIVGUARD:更轻松地遵守隐私规定) 摘要 持续遵守如GDPR和CCPA等隐私法规已经成为从小型创业公司到商业巨头的公司的一项昂贵负担。罪魁祸首是当今合规过程中对人工审核的严重依赖&…

Pytorch训练RCAN QAT超分模型

Pytorch训练RCAN QAT超分模型 版本信息测试步骤准备数据集创建容器生成文件列表创建文件列表的代码执行脚本,生成文件列表训练RCAN模型准备工作修改开源代码编写训练代码执行训练脚本可视化本文以RCAN超分模型为例,演示了QAT的训练过程,步骤如下: 先训练FP32模型再加载FP32训练…

壹[1],图像源

1,工具名称:图像源 2,参数说明 2.1,图像源 注: 本地图像,使用本地图片以及本地图像文件夹 相机,连接的相机 SDK,使用相机的SDK,而不是海康SDK 2.2,像素格式 注&…

Jeecg项目部署

说明:Jeecg是一款低代码开发平台,简单说是一款现成的项目,该项目集成了许多功能,我们可以在这个项目之上开发自己的业务代码。 本文介绍Jeecg项目的部署,包括后端jeecg-boot项目、前端vue3项目。前端项目在本地Window…

VScode连接远端服务器一直输入密码解决方法

文章目录 1 关闭远程连接2打开命令面板3 输入remote-ssh: kill vs code server on host… 1 关闭远程连接 2打开命令面板 3 输入remote-ssh: kill vs code server on host… remote-ssh: kill vs code server on host… 然后一路回车(选中出问题的主机),输一遍密码…

真正理解微软Windows程序运行机制——窗口机制(第一部分)

我是荔园微风,作为一名在IT界整整25年的老兵,今天说说Windows程序的运行机制。经常被问到MFC到底是一个什么技术,为了解释这个我之前还写过帖子,但是很多人还是不理解。其实这没什么,我在学生时代也被这个问题困绕过。…

【日常聊聊】Sora- 探索AI视频模型的无限可能

🍎个人博客:个人主页 🏆个人专栏:日常聊聊 ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 方向一:技术解析 方向二:应用场景 方向三:未来展望 方向四:伦理与创意 方向…

深入理解JS的执行上下文、词法作用域和闭包(下)

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

【PX4SimulinkGazebo联合仿真】在Simulink中使用ROS2控制无人机沿自定义圆形轨迹正向飞行(带偏航角控制)并在Gazebo中可视化

在Simulink中使用ROS2控制无人机沿自定义圆形轨迹正向飞行(带偏航角控制)并在Gazebo中可视化 系统架构Matlab官方例程Control a Simulated UAV Using ROS 2 and PX4 Bridge运行所需的环境配置PX4&Simulink&Gazebo联合仿真实现方法建立Simulink模…

vue3自定义实现悬浮固定按钮组件

目录 一、需求描述二、代码解读三、结果展示 一、需求描述 需要5个固定的悬浮圆,居于页面的右侧。鼠标悬浮在圆上面会显示对应的文字提示其中包含返回顶部悬浮圆,当页面滑至底部时出现,点击页面滑到顶部。点击按钮会给出弹窗 二、代码解读…

LCR 172. 统计目标成绩的出现次数

解题思路&#xff1a;二分查找 题解一 class Solution {public int countTarget(int[] scores, int target) {// 搜索右边界 rightint i 0, j scores.length - 1;while(i < j) {int m (i j) / 2;if(scores[m] < target) i m 1;else j m - 1;}int right i;// 若数…

UE5 C++ Gas开发 学习记录(一)

一个新坑,在TPS的空余时间学习 创建了自己,敌人的BaseCharacter和子类,创建了Gamemode,创建了Controller AuraCharacterBase.h // Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include &…

H264/H265基本编码参数1

本文主要讲解一些视频编码相关的基本概念 像素 像素是图像的基本单元&#xff0c;一个个像素就组成了图像。你可以认为像素就是图像中的一个点。我们来直观地看看像素是怎么组成图像的。在下面这张图中&#xff0c;你可以看到一个个方块&#xff0c;这些方块就是像素。 分辨…

【GameFramework框架内置模块】4、内置模块之调试器(Debugger)

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址QQ群&#xff1a;398291828 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 【GameFramework框架】系列教程目录&#xff1a;…

开启数字内容创作的新时代

目录 技术解析 未来展望 技术解析 Sora是一款由OpenAI开发的先进AI视频模型&#xff0c;其技术架构基于深度学习和自然语言处理技术。该模型的核心算法原理包括使用深度神经网络进行视频内容的理解、生成和互动。 在技术架构方面&#xff0c;Sora采用了一种混合的神经网络结…

五种多目标优化算法(NSWOA、MOJS、MOAHA、MOPSO、NSGA2)性能对比(提供MATLAB代码)

一、5种多目标优化算法简介 1.1NSWOA 1.2MOJS 1.3MOAHA 1.4MOPSO 1.5NSGA2 二、5种多目标优化算法性能对比 为了测试5种算法的性能将其求解9个多目标测试函数&#xff08;zdt1、zdt2 、zdt3、 zdt4、 zdt6 、Schaffer、 Kursawe 、Viennet2、 Viennet3&#xff09;&#xff0…

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

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