Python中,`ord()` 和 `decode()` 有点儿像,区别是什么?

news/2025/11/13 18:25:51/文章来源:https://www.cnblogs.com/wangya216/p/19219165

从“都是将某种形式转换为字符相关信息”的角度看,ord()decode() 可能会让人觉得有点“像”,但本质上它们是完全不同的操作,核心区别在于处理的对象和转换的方向。我们可以用一个形象的比喻来理解:

打个比方:字符的“身份链”

假设字符“中”有这样一条“身份链”:
二进制字节(b'\xe4\xb8\xad')→ 字符串("中")→ Unicode码点(20013)

  • decode() 做的是从左到右的第一步:把最底层的二进制字节(bytes)翻译成人类能看懂的字符串(str),相当于“解密二进制数据,还原成文字”。
  • ord() 做的是从中间到右边的一步:把已经是字符串的单个字符(str)翻译成它在Unicode体系中的“身份证号”(码点整数),相当于“查询文字的唯一编号”。

具体差异对比

对比维度 decode() ord()
输入类型 必须是 bytes(二进制字节串) 必须是 str(且长度为1的单个字符)
输出类型 str(字符串,人类可直接阅读) int(整数,字符的Unicode码点)
转换逻辑 按编码规则(如UTF-8)将字节“翻译”为字符 直接返回字符在Unicode中的唯一编号
依赖编码格式吗? 必须指定(如utf-8gbk 不依赖,因为Unicode码点是全球唯一的

举例:完全不同的操作链

  1. decode() 处理字节:

    # 二进制字节 → 字符串(解码)
    b = b'\xe4\xb8\xad'  # "中"的UTF-8字节
    s = b.decode('utf-8')  # 得到 "中"(str类型)
    
  2. ord() 处理字符:

    # 单个字符 → 码点(查询编号)
    s = "中"
    code = ord(s)  # 得到 20013(int类型,即U+4E2D)
    

如果强行“交叉使用”,会直接报错:

ord(b'\xe4\xb8\xad')  # 错误:ord()不能接收bytes
b'\xe4\xb8\xad'.decode()  # 正确,但结果是str,不是整数

总结

两者唯一的“间接关联”是:它们都涉及字符的处理,但处于不同的转换环节——decode() 是“二进制→文字”的解码过程,ord() 是“文字→编号”的查询过程。就像“解密电报”和“查询某人身份证号”一样,看似都和“人”有关,但操作的对象和目的完全不同。

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

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

相关文章

JavaEE--SpringIoC - 详解

JavaEE--SpringIoC - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &…

2025年比较好的非标设备机架产品推荐排行榜单,非标设备机架公司精选实力品牌榜单发布

行业背景与评选标准 随着制造业智能化升级加速,非标设备机架作为工业设备的基础支撑结构,其质量与性能直接影响设备运行的稳定性与使用寿命。当前市场上涌现出一批专注于非标设备机架研发制造的企业,它们凭借专业技…

flask: 实现流式输出数据

一,代码: python from flask import Flask, stream_with_context, Response import timephoto = Blueprint(photo, __name__)@photo.route(/stream) def stream():def generate():for i in range(10):yield f"d…

第四十篇

今天是11月13号,上了体育和数据结构

丽江西林瓶灌装线选充氮还是真空型?

在制药与生物制剂行业,针对易氧化药液的西林瓶灌装工艺,设备选型常面临核心痛点:需求与产品错配、参数筛选混乱、保护气体策略不明确。尤其在高原或湿度波动较大的地区(如丽江),空气含氧量及环境洁净度对灌装稳定…

2025年北京继承官司律师机构实力排行榜新鲜发布,继承律师事务所/北京继承律师哪个好/北京丰台继承律师/北京继承纠纷法律事务所选哪家

专业法律服务市场迎来新格局 随着社会经济发展和民众法律意识提升,遗产继承纠纷案件数量持续增长。北京作为国家政治文化中心,其法律服务市场呈现出专业化、精细化的显著特征。近日,通过对北京市继承官司领域律师机…

辽源适配冻干机西林瓶灌装加塞机推荐

近年来,随着生物医药产业在东北地区的加速布局,辽源市对高精度、高洁净度灌装设备的需求显著提升。尤其在冻干制剂领域,适配冻干机的西林瓶灌装加塞机成为众多药企采购的核心设备之一。此类设备需具备半加塞功能,以…

webclientserver

webclient&server一 rt-thread下的webclient解决方案:librws/nopool/websocket软件包与mongoose WebClient和mongoose用Apache 2.0,librws用MIT,nopoll用开源协议。WebClient:对于大多数物联网设备的HTTP通信需…

C#+WPF?​就是工业上位机,用Python+Qt还

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年市场十大名牌管材生产厂家怎么选择,十大名牌管材源头厂家推荐排行榜单精选优质品牌解析

行业权威榜单发布,助力消费者精准决策 随着建筑行业和家装市场的持续发展,管材作为基础设施的重要组成部分,其质量与性能备受关注。本文基于市场调研数据、产品性能指标及用户反馈,对行业内具有代表性的五家管材生…

2025年目前评价高的供应链云服务商推荐排行榜,供应链云服务商深度剖析助力明智之选

行业洞察:供应链云服务市场迎来高质量发展期 随着数字化转型浪潮持续推进,供应链云管理系统已成为企业提升运营效率、优化资源配置的核心工具。根据最新市场调研数据显示,2025年中国供应链云服务市场规模预计突破千…

Linux 交叉编译(toolchain) ARM aarch64版 tcpreplay

前言全局说明一、说明 环境: ubuntu 18.04二、下载源码: 官方下载源 SourceForge存档: 主下载页面: https://sourceforge.net/projects/tcpreplay/files/包含从早期版本到最新版本的所有发布源码下载: https://gith…

ITR经典案例 | 燕千云携手国内知名软件供应商,AI驱动客户服务流升级

甄云携手燕千云AI-ITR,全面升级其IT运维与客户服务体系:从智能提单到AI客服自动转工单,从上下游协同网络到SLA与自动化驱动的智能派单,服务链路全面加速。新体系让服务更快、更准、更可控,也为甄云打造面向未来的…

彻底解决WPS在扩展屏出现的下拉错位现象

先吐槽,wps的缩放适配真是做的很不好。 找到wps软件的启动程序【ksolaunch.exe】,右键【属性】-【兼容性】-【更改高DPI设置】-【高DPI缩放替代】-选择【系统(增强)】

2025年最新钣金加工厂家综合实力排名,助您轻松选择,钣金加工加工厂睿意达发展迅速,实力雄厚

行业背景分析 随着制造业智能化转型加速,自动化钣金加工市场呈现蓬勃发展态势。据行业数据显示,2024年我国钣金加工市场规模已突破8000亿元,预计2025年将保持10%以上的年增长率。在这一背景下,如何选择具备综合实力…

丽江小药厂适用半自动西林瓶灌装生产线

近年来,随着中小型制药企业对成本控制和生产效率的双重关注,半自动西林瓶灌装设备市场呈现出稳步增长态势。据2024年行业调研数据显示,国内半自动西林瓶灌装机价格区间主要集中在8万至25万元之间,其中10万至15万元…

win7 64位 sp1 最高nvidia gt740 显卡驱动版本

win7 64位 sp1 最高nvidia gt740 显卡驱动版本471.12版本https://www.nvidia.cn/drivers/details/180601/

2025年北京继承官司律师机构推荐,这些律所值得信赖,北京丰台继承律师/北京离婚纠纷/离婚纠纷律师/遗产继承律师事务所维权机构选哪家

专业法律服务机构的综合评估 随着社会经济发展和民众法律意识提升,遗产继承纠纷案件呈现逐年增长趋势。在北京地区,专业处理继承官司的律师服务机构备受关注。本文基于市场调研和公开数据,从专业能力、服务质量、客…

在macOS上高效使用8BitDo机械键盘:超级按键与Karabiner配置指南

本文详细介绍了如何在macOS系统上配置8BitDo机械键盘,包括硬件级编程A/B键、超级按键映射技巧,以及使用Karabiner Elements实现高级键位重映射和应用程序特定功能设置的方法。在macOS上使用8BitDo机械键盘(超级按键…