#跟着若城学鸿蒙# HarmonyOS NEXT学习之AlphabetIndexer组件详解
一、组件介绍
AlphabetIndexer(字母索引条)是HarmonyOS NEXT中一个非常实用的UI组件,它主要用于在列表视图中提供快速的字母导航功能。当应用中有大量按字母顺序排列的数据(如联系人列表、城市列表等)时,AlphabetIndexer可以帮助用户快速定位到特定字母开头的内容,提高用户体验和操作效率。
二、基本概念
1. 组件定义
AlphabetIndexer组件是一个垂直排列的索引条,通常显示在屏幕右侧,包含字母(A-Z)、数字或自定义的索引项。用户可以通过触摸或滑动索引条快速跳转到对应的内容区域。
2. 应用场景
- 联系人列表:按姓名首字母快速查找联系人
- 城市选择器:按城市名称首字母快速定位城市
- 音乐播放器:按歌曲或艺术家名称首字母快速浏览
- 应用商店:按应用名称首字母快速查找应用
三、组件属性
1. 基础属性
属性名 | 类型 | 描述 |
---|---|---|
arrayValue | Array | 设置索引条的数据项数组 |
selected | number | 设置或获取当前选中项的索引 |
color | Color | 设置索引文本的颜色 |
selectedColor | Color | 设置选中状态的文本颜色 |
popupColor | Color | 设置弹出提示框的颜色 |
selectedBackgroundColor | Color | 设置选中项的背景颜色 |
popupBackground | Color | 设置弹出提示框的背景颜色 |
usingPopup | boolean | 设置是否使用弹出提示框,默认为true |
selectedFont | Font | 设置选中项的字体样式 |
popupFont | Font | 设置弹出提示框的字体样式 |
font | Font | 设置索引文本的字体样式 |
2. 事件属性
事件名 | 描述 |
---|---|
onSelect(callback: (index: number) => void) | 当选中项发生变化时触发的回调 |
onRequestPopupData(callback: (index: number) => string) | 请求弹出框显示数据的回调 |
onTouch(callback: (event: TouchEvent) => void) | 触摸事件回调 |
四、使用方法
1. 基本用法
@Entry
@Component
struct AlphabetIndexerExample {private arrayValue: string[] = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];@State selectedIndex: number = 0;build() {Column() {Text('当前选中: ' + this.arrayValue[this.selectedIndex]).fontSize(20).margin(10)Row() {List() {ForEach(this.arrayValue, (item, index) => {ListItem() {Text(item + ' 部分的内容').width('100%').height(80).fontSize(20).textAlign(TextAlign.Center).backgroundColor(this.selectedIndex === index ? '#007DFF' : '#FFFFFF').borderRadius(10).margin({ top: 5 })}})}.width('80%').height('100%')AlphabetIndexer({arrayValue: this.arrayValue,selected: this.selectedIndex}).selectedColor('#007DFF').popupColor('#FFFFFF').selectedBackgroundColor('#CECECE').popupBackground('#007DFF').usingPopup(true).alignStyle(IndexerAlign.Right).onSelect((index: number) => {this.selectedIndex = index;})}.width('100%').height('90%')}.width('100%').height('100%')}
}
2. 自定义索引内容
除了默认的字母索引外,我们还可以自定义索引内容,例如使用数字、特殊符号或其他文本:
@Entry
@Component
struct CustomAlphabetIndexerExample {// 自定义索引数组private customArray: string[] = ['#', '1', '2', '3', '热门', '推荐', 'A', 'B', 'C', 'D'];@State selectedIndex: number = 0;build() {Row() {List() {ForEach(this.customArray, (item, index) => {ListItem() {Text(item + ' 分类').width('100%').height(100).fontSize(16).padding(10)}})}.width('80%').height('100%')AlphabetIndexer({arrayValue: this.customArray,selected: this.selectedIndex}).selectedColor('#FF0000').onSelect((index: number) => {this.selectedIndex = index;}).onRequestPopupData((index: number) => {return this.customArray[index];})}.width('100%').height('100%')}
}
3. 自定义弹出提示
我们可以通过onRequestPopupData
回调来自定义弹出提示的内容:
@Entry
@Component
struct CustomPopupExample {private arrayValue: string[] = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];@State selectedIndex: number = 0;// 为每个字母定义对应的弹出提示内容private popupData: string[] = ['Apple', 'Banana', 'Cherry', 'Durian', 'Elderberry','Fig', 'Grape', 'Honeydew', 'Imbe', 'Jackfruit','Kiwi', 'Lemon', 'Mango', 'Nectarine', 'Orange','Papaya', 'Quince', 'Raspberry', 'Strawberry', 'Tangerine','Ugli', 'Vanilla', 'Watermelon', 'Xigua', 'Yangmei', 'Zucchini'];build() {Row() {List() {ForEach(this.arrayValue, (item, index) => {ListItem() {Text(this.popupData[index]).width('100%').height(80).fontSize(16).padding(10)}})}.width('80%').height('100%')AlphabetIndexer({arrayValue: this.arrayValue,selected: this.selectedIndex}).selectedColor('#007DFF').popupColor('#FFFFFF').popupBackground('#007DFF').popupFont({ size: 30, weight: FontWeight.Bold }).onSelect((index: number) => {this.selectedIndex = index;}).onRequestPopupData((index: number) => {// 返回自定义的弹出提示内容return this.popupData[index];})}.width('100%').height('100%')}
}
五、性能优化
在使用AlphabetIndexer组件时,需要注意以下几点以优化性能:
数据绑定优化:当列表数据量较大时,应考虑使用懒加载或虚拟列表技术,只渲染可视区域的内容。
事件处理优化:在
onSelect
回调中避免执行复杂的计算或操作,以保证UI响应的流畅性。样式优化:避免在索引条中使用过于复杂的样式或动画效果,以减少渲染负担。
六、常见问题与解决方案
1. 索引条不显示或显示异常
问题:在某些情况下,AlphabetIndexer可能不显示或显示异常。
解决方案:
- 检查arrayValue是否正确设置且不为空
- 确保AlphabetIndexer的父容器有足够的高度和宽度
- 检查是否设置了正确的alignStyle属性
2. 弹出提示不显示
问题:触摸索引条时弹出提示不显示。
解决方案:
- 确保usingPopup属性设置为true
- 检查是否正确实现了onRequestPopupData回调
- 检查popupBackground和popupColor属性是否设置正确
3. 索引条与列表不同步
问题:点击索引条后,列表没有滚动到对应位置。
解决方案:
- 确保正确实现了onSelect回调
- 在onSelect回调中使用List组件的scrollTo方法滚动到对应位置
- 检查List组件和AlphabetIndexer组件的数据源是否一致
七、最佳实践
合理设计索引项:根据实际数据特点设计索引项,不必局限于26个英文字母,可以根据需要添加数字、特殊符号或其他分类。
提供视觉反馈:通过selectedColor和selectedBackgroundColor属性为用户提供明确的视觉反馈,让用户知道当前选中的是哪个索引项。
优化弹出提示:通过onRequestPopupData回调提供有意义的弹出提示内容,帮助用户更好地理解索引项对应的内容。
适配不同屏幕:确保AlphabetIndexer在不同尺寸的屏幕上都有良好的显示效果,可以通过响应式布局和字体大小调整来实现。
结合搜索功能:在包含AlphabetIndexer的页面中,可以考虑添加搜索功能,为用户提供多种查找内容的方式。
八、总结
AlphabetIndexer组件是HarmonyOS NEXT中一个强大的导航辅助工具,它可以帮助用户在大量数据中快速定位到特定内容。通过合理设置其属性和回调,可以实现丰富的交互效果和良好的用户体验。在实际应用中,我们应该根据具体需求和数据特点,灵活运用AlphabetIndexer组件,为用户提供便捷、高效的导航体验。
相关文章:
#跟着若城学鸿蒙# HarmonyOS NEXT学习之AlphabetIndexer组件详解
一、组件介绍 AlphabetIndexer(字母索引条)是HarmonyOS NEXT中一个非常实用的UI组件,它主要用于在列表视图中提供快速的字母导航功能。当应用中有大量按字母顺序排列的数据(如联系人列表、城市列表等)时,A…...
React百日学习计划——Deepseek版
阶段一:基础巩固(1-20天) 目标:掌握HTML/CSS/JavaScript核心语法和开发环境搭建。 每日学习内容: HTML/CSS(1-10天) 标签语义化、盒模型、Flex布局、Grid布局、响应式设计(媒体查询…...
Room持久化库:从零到一的全面解析与实战
简介 在Android开发中,Room作为官方推荐的数据库持久化库,提供了对SQLite的抽象层,使得数据库操作更加安全、高效且易于维护。 Room通过注解处理器和编译时验证,显著降低了数据库操作的复杂度,同时支持响应式编程模式,使开发者能够轻松实现数据变化的实时监听。对于企业…...
Linux云计算训练营笔记day07(MySQL数据库)
数据库 DataBase 保存数据的仓库 数据库管理系统 DBMS 这是一个可以独立运行,用于维护磁盘上的数据的一套软件 特点: 维护性高,灵活度高,效率高,可扩展性强 常见的DBMS Mysql Mariadb Oracle DB2 SQLServer MySQL是一个关系型…...
C语言之旅5---分支与循环【2】
💫只有认知的突破💫才来带来真正的成长💫编程技术的学习💫没有捷径💫一起加油💫 🍁感谢各位的观看🍁欢迎大家留言🍁咱们一起加油🍁努力成为更好的自己&#x…...
K230 ISP:一种新的白平衡标定方法
第一次遇见需要利用光谱响应曲线进行白平衡标定的方法。很好奇是如何利用光谱响应曲线进行白平衡标定的。 参考资料参考:K230 ISP图像调优指南 K230 介绍 嘉楠科技 Kendryte 系列 AIoT 芯片中的最新一代 AIoT SoC K230 芯片采用全新的多核异构单元加速计算架构&a…...
【Web应用】Vue 项目前端项目文件夹和文件介绍
文章目录 ⭐前言⭐一、文件夹介绍🌟1、.idea🌟2、bin🌟3、build🌟4、node_modules🌟5、public🌟6、src ⭐二、文件介绍🌟1、.editorconfig🌟2、.env.development、.env.production、…...
Leetcode 3544. Subtree Inversion Sum
Leetcode 3544. Subtree Inversion Sum 1. 解题思路2. 代码实现 题目链接:3544. Subtree Inversion Sum 1. 解题思路 这一题我的思路上就是一个动态规划的思路,因为原则上我们只需要遍历一下所有的状态即可,但是这样显然时间复杂度过高&am…...
分别在windows和linux上使用curl,有啥区别?
作为开发者常用的网络工具,curl 在 Windows 和 Linux 上的使用看似相似,但实际存在不少细节差异。以下从 命令语法、环境特性、功能支持 和 开发体验 四个角度展开对比,帮助读者避免跨平台开发时的常见“坑”。 一、命令语法差异:…...
微服务八股(自用)
微服务 SpringCloud 注册中心:Eureka 负载均衡:Ribbon 远程调用:Feign 服务熔断:Hystrix 网关:Gateway/Zuul Alibaba 配置中心:Nacos 负载均衡:Ribbon 服务调用:Feign 服务…...
TCP首部格式及三次握手四次挥手
TCP协议详解:首部格式与连接管理 一、TCP首部格式 TCP首部最小20字节,最大60字节,包含以下字段: | 源端口号(16bit) | 目的端口号(16bit) | | 序列号(32bit) | | 确认号(32bit) | | 数据偏移(4bit)| 保留(6bit) |U|A|P|R|S|…...
Python查询ES错误ApiError(406, ‘Content-Type ...is not supported
现象 使用python查询es数据时出现下面错误 Traceback (most recent call last):File "getUsers.py", line 26, in <module>response es.search(index"lizz_users", bodyquery)File "/usr/local/lib/python3.6/site-packages/elasticsearch/_…...
下周,Coinbase将被纳入标普500指数
Coinbase加入标普500指数紧随比特币突破10万美元大关之后。加密资产正在日益成为美国金融体系的一部分。大型机构已获得监管批准创建现货比特币交易所交易基金,进一步推动了加密货币的主流化进程。 加密货币行业迎来里程碑时刻,Coinbase即将加入标普500…...
物理:由基本粒子组成的个体能否提炼和重组?
个体差异源于基本粒子组合的复杂性与随机性,这一假设若成立,确实可能为生物医学带来革命性突破——但需要突破技术、理论与系统层级的多重壁垒。以下从科学逻辑与技术路径展开分析: 一、随机组合中的共性与稳定结构 1. 自然界的自组织规律 涌现性(Emergence):尽管粒子组…...
Python Day 24 学习
讲义Day16内容的精进 NumPy数组 Q. 什么是NumPy数组? NumPy数组是Python中由NumPy库提供的一种多维数组对象,它称为N-dimensional array,简称ndarray。它是用于数值计算的核心数据结构,能够高效地存储和操作大量的同类型数据。 Q. NumPy数…...
ppy/osu构建
下载 .NET (Linux、macOS 和 Windows) | .NET dotnet还行 构建:f5 运行:dotnet run --project osu.Desktop -c Debug...
前端学习(2)—— CSS详解与使用
目录 一,CSS基础 1.1 语法规范 1.2 引入方式 1.3 选择器 1.3.1 基础选择器 1.3.2 复合选择器 1.3.3 选择器小结 二,CSS使用 2.1 字体设置 2.2 文本属性 2.3 背景属性 2.2 圆角矩形 三,关于浏览器 3.1 Chrome 调试工具 -- 查看 …...
邀请函|PostgreSQL培训认证报名正式开启
掌握PostgreSQL 轻松驾驭主流国产数据库 PostgreSQL培训认证 6月开课 报名火热进行中~ 美创中国PostgreSQL培训认证合作机构 中国PostgreSQL培训认证由中国开源软件联盟PostgreSQL分会联合中国电子工业标准化技术协会共同打造,是国内权威的PG技术等级…...
力扣HOT100之二叉树:543. 二叉树的直径
这道题本来想到可以用递归做,但是还是没想明白,最后还是去看灵神题解了,感觉这道题最大的收获就是巩固了我对lambda表达式的掌握。 按照灵神的思路,直径可以理解为从一个叶子出发向上,在某个节点处拐弯,然后…...
深入理解 NumPy:Python 科学计算的基石
在数据科学、人工智能和科学计算的世界里,NumPy 是一块绕不过去的基石。它是 Python 语言中用于高性能科学计算的基础包,几乎所有的数据分析与机器学习框架(如 Pandas、TensorFlow、Scikit-learn)都离不开它的支持。 一、什么是 …...
基于STM32、HAL库的ADAU1701JSTZ-RL音频接口芯片驱动程序设计
一、简介: ADAU1701JSTZ-RL 是一款高性能音频编解码器 (Codec),专为便携式和低功耗应用设计。它集成了 ADC、DAC、麦克风前置放大器、耳机放大器和数字信号处理功能,支持 I2S/PCM 音频接口和 I2C 控制接口,非常适合与 STM32 微控制器配合使用。 二、硬件接口: 典型的 ST…...
SpringBoot--springboot简述及快速入门
spring Boot是spring提供的一个子项目,用于快速构建spring应用程序 传统方式: 在众多子项目中,spring framework项目为核心子项目,提供了核心的功能,其他的子项目都需要依赖于spring framework,在我们实际…...
智慧校园场景下iVX 研发基座应用实践与行业适配研究
一、智慧校园多系统协同实践 在智慧校园建设中,iVX 研发基座通过模块化协作开发模式实现跨系统集成与数据治理。以校园门户与子系统整合为例,基座通过统一身份认证体系实现单点登录(SSO),用户中心基于 ABAC 模型动态控…...
故障诊断模型评估——混淆矩阵,如何使样本量一致(上)
往期精彩内容: Python-凯斯西储大学(CWRU)轴承数据解读与分类处理 基于FFT CNN - BiGRU-Attention 时域、频域特征注意力融合的轴承故障识别模型-CSDN博客 基于FFT CNN - Transformer 时域、频域特征融合的轴承故障识别模型-CSDN博客 P…...
Redis Cluster 集群搭建和集成使用的详细步骤示例
以下是Redis集群搭建和集成使用的详细步骤示例: 搭建Redis集群 环境准备 下载Redis:从Redis官方网站下载最新稳定版本的Redis源代码,解压到指定目录,如/opt/redis。安装依赖:确保系统安装了必要的依赖,如…...
【技巧】使用UV创建python项目的开发环境
回到目录 【技巧】使用UV创建python项目的开发环境 0. 为什么用UV 下载速度快、虚拟环境、多版本python支持、清晰的依赖关系 1. 安装基础软件 1.1. 安装python 下载地址:https://www.python.org/downloads/windows/ 1.2. 安装UV > pip install uv -i ht…...
竞业禁止协议中AI技能限制的深度剖析
首席数据官高鹏律师团队 在当今科技飞速发展的时代,人工智能(AI)领域成为了商业竞争的关键战场。随着AI技术在各行业的广泛渗透,竞业禁止协议中涉及AI技能的限制条款愈发受到关注,其背后蕴含着复杂而关键的法律与商业…...
Mirror的多人连接管理及房间系统
以下是一个基于Mirror的多人连接管理及房间系统的服务端实现方案,包含部署说明: 一、服务端架构设计 网络管理扩展 using Mirror; using UnityEngine;public class RoomNetworkManager : NetworkManager {// 房间字典(房间ID -> 房间对象…...
基于Session实现短信登录全流程详解
前言 在当今的Web应用中,短信验证码登录已成为最常用的身份验证方式之一。本文将详细介绍基于Session实现短信登录的全套流程,包括技术选型、流程设计、具体实现以及安全防护措施。通过本文,您将掌握从发送验证码到完成登录的完整实现方案。…...
关于 javax.validation.constraints的详细说明
以下是关于 javax.validation.constraints(现为 Jakarta Bean Validation)的详细说明,涵盖核心注解、使用场景、代码示例及最佳实践: 一、javax.validation.constraints 是什么? 作用:提供一组标准注…...
linux系统如何将采集的串口数据存储到txt
步骤: 确认串口设备:通常为/dev/ttyS0(COM1)或/dev/ttyUSB0(USB转串口)。设置波特率等参数:使用stty命令,例如: bash stty -F /dev/ttyUSB0 9600 cs8 -icanon -ixon 实时…...
(顺序表、单链表、双链表)==>一篇解决!(Java版)
文章目录 一、线性表二、顺序表三、单链表四、双链表 一、线性表 线性表是最基本、最简单、也是最常用的一种数据结构。一个线性表是n个具有相同特性的数据元素的有限序列。 线性表的特征:数据元素之间具有一种“一对一”的逻辑关系。 线性表的分类: 线…...
大模型常用位置编码方式
深度学习中常见的位置编码方式及其Python实现: 一、固定位置编码(Sinusoidal Positional Encoding) 原理 通过不同频率的正弦和余弦函数生成位置编码,使模型能够捕捉绝对位置和相对位置信息。公式为: 公式标准数学表达…...
【fastadmin开发实战】在前端页面中使用bootstraptable以及表格中实现文件上传
先看效果: 1、前端页面中引入了表格 2、表格中实现文件上传 3、增加截止时间页面 难点在哪呢? 1、这是前端页面,并不支持直接使用btn-dialog的类属性实现弹窗; 2、前端页面一般绑定了layout模板,如何实现某个页面不…...
IO、存储、硬盘、文件系统相关常识
目录 1. IO(输入输出)基础概念 1.1 IO的定义 1.2 流 1.3 IO流 2.存储 2.1 存储技术 2.2 存储介质的分类(机械硬盘、固态硬盘、光盘、磁带) 2.2.1 机械硬盘 2.2.2 固态硬盘 2.2.3 光盘 2.2.4 磁盘 2.3 存储管理 2.4 存…...
amd架构主机构建arm架构kkfileview
修改本机使用镜像仓库地址 vim /etc/docker/daemon.json { “experimental”: true, “registry-mirrors”: [ “https://docker.m.daocloud.io”, “https://docker.1panel.live”, “http://mirrors.ustc.edu.cn/”, “http://mirror.azure.cn/”, “https://docker.hpcloud.…...
日志链路ID配置,traceId多线程不打印什么鬼?
logback.xml 关键配置 [traceId:%X{traceId}] <!-- 彩色日志格式模板 --><property name"log.pattern.color"value"%green(%d{yyyy-MM-dd HH:mm:ss.SSS}) [%thread] %highlight(%-5level){FATALred, ERRORred, WARNyellow, INFOgreen, DEBUGcyan, TRA…...
InfluxDB-数据看板实现流程:从数据采集到可视化展示
数据看板的实现涉及到多个步骤和技术组件,以下是基于提供的知识库内容,详细解释数据看板(特别是30日活跃用户数趋势)的实现过程: 1. 数据来源 所有用户行为数据通过网关进行数据埋点,并通过消息队列&…...
Git基本操作命令
文章目录 Git基本操作命令创建仓库命令提交与修改提交日志版本回退分支切换删除文件.gitignore文件远程操作 Git分支管理创建分支查看分支合并分支删除分支保存当前文件未提交更改并切换分支 Git提交历史恢复和回退 Git标签标签推送删除标签附注标签查看标签信息删除标签 Git基…...
JavaScript实践(三)JavaScript序列化与反序列化深度解析
JavaScript中的序列化与反序列化是数据存储、网络传输和跨系统交互的核心技术之一。本文将从底层原理、核心方法、复杂场景处理、安全风险及工程实践等多个维度,系统性地解析这一技术体系,并附完整的代码实现示例。 一、序列化与反序列化的核心价值 序列…...
大模型—— FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议)
大模型—— FastGPT 知识库无缝集成到 n8n 工作流 (基于 MCP 协议) 背景:n8n 与 RAG 知识库集成的挑战 n8n 作为一款强大的开源自动化工作流工具,正获得越来越多用户的青睐。它由前《加勒比海盗》视觉设计师 Jan Oberhauser 于 2019 年创立,旨在提供比 Zapier 等工具更灵活…...
安卓刷机模式详解:Fastboot、Fastbootd、9008与MTK深刷
安卓刷机模式详解:Fastboot、Fastbootd、9008与MTK深刷 一、刷机模式对比 1. Fastboot模式 简介:传统安卓底层刷机模式,通过USB连接电脑操作优点:支持大多数安卓设备,操作相对简单缺点:需要设备进入特定…...
深入浅出MySQL 8.0:新特性与最佳实践
MySQL作为开源关系型数据库的佼佼者,近年来持续更新迭代,尤其是在8.0版本中引入了一系列令人兴奋的新特性。本文将介绍一些MySQL 8.0的关键新功能,并提供最佳实践,旨在帮助开发人员和DBA更好地利用这一强大的数据库管理系统。 一…...
【登录认证】JWT令牌
一、概述 JWT全称:**JSON Web Token **(https://jwt.io/)定义了一种简洁的、自包含的格式,用于通信双方以json数据格式安全的传输信息。组成: ①第一部分:Header(头),记录令牌类型、签名算法等。例如: (“alg”:" HS256"," type":“…...
coco数据集mAP评估
0 coco数据集划分说明 1 用yolo自带的评估 from ultralytics import YOLOmodel YOLO("../spatial-perception/checkpoints/yolo11n.pt")metrics model.val(data"./coco.yaml", save_jsonTrue) ## save_json为True,可以把预测结果存成json文件ÿ…...
C++23 ranges::range_adaptor_closure:程序定义的范围适配器闭包的辅助类
文章目录 一、背景介绍二、ranges::range_adaptor_closure 的定义与要求三、使用示例四、编译器支持情况五、总结 一、背景介绍 C23 引入了 std::ranges::range_adaptor_closure,这是一个辅助类模板,用于定义用户自定义的范围适配器闭包对象。这一特性主…...
滑动窗口——水果成篮
根据题意我们转化一下,在数组中求一个最长的子数组,数组中的数字种类不超过2种。 借助暴力思想,我们定义双指针进行进窗口、判断、出窗口、更新结果的流程。 我们需要借助hash表来记录不同数字出现的种类以及每个数字出现的次数。然后先让r…...
论文精读:YOLO-UniOW: Efficient Universal Open-World Object Detection
文章目录 前言1、出发点2、方法2.1.符号说明2.2.Efficient Adaptive Decision Learning2.3.Open-World Wildcard Learning 3、实验结果总结 前言 本文介绍一篇来自Tencent的开放词汇和世界检测结合的论文:Yolo-uniow,开源地址。 1、出发点 本篇论文相当…...
网络协议分析 实验四 ICMPv4与ICMPv6
文章目录 实验4.1 ICMP协议练习一 利用仿真编辑器编辑ICMP回显请求报文练习二 ICMP差错报文1.目的端不可达2.超时 练习三 仿真发送ICMP时间戳请求报文实验4.2 IPV6与ICMPV6实验设计题:设计一个能产生ICMPV6超时类型差错报文实验,并截图记录实验结果。 实…...
《100天精通Python——基础篇 2025 第18天:正则表达式入门实战,解锁字符串处理的魔法力量》
目录 一、认识正则表达式二、正则表达式基本语法2.1 行界定符2.2 单词定界符2.3 字符类2.4 选择符2.5 范围符2.6 排除符2.7 限定符2.8 任意字符2.9 转义字符2.10 反斜杠2.11 小括号2.11.1 定义独立单元2.11.2 分组 2.12 反向引用2.13 特殊构造2.14 匹配模式 三、re模块3.1 comp…...