Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >字符串与编码

字符串与编码

作者头像
py3study
发布于 2020-01-16 08:00:12
发布于 2020-01-16 08:00:12
1.1K00
代码可运行
举报
文章被收录于专栏:python3python3
运行总次数:0
代码可运行

在最新的Python 3版本中,字符串是以Unicode编码的,即Python的字符串支持多语言

编码和解码   字符串在内存中以Unicode表示,在操作字符串时,经常需要str和bytes互相转换   字符串是可以直接在内存上进行处理的,但如果要将其传输到网络或磁盘上,需要将其编码,反过来则需要解码,因为str是不可以直接存储在磁盘上或在网络上传输的   如果将字符串从内存传输到网络或保存到磁盘,则要把str转换为以字节为单位的bytes,称为编码   如果要从网络或磁盘上获取字符串,则要从网络上或者磁盘上读取字节流,并把bytes转换为str,称为解码   为避免乱码问题,应当始终坚持使用UTF-8编码对str和bytes进行转换,关于编码,请参照字符编码

使用示例:

单个字符的编码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print(ord('A')) #输出:65,获取字符的整数表示
print(chr(66)) #输出:B,把编码转换为对应的字符

十六进制表示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print('中文') #输出:'中文'print('\u4e2d\u6587') #输出:'中文''\u4e2d\u6587''中文'完全对等,如果知道字符的整数编码,还可以用十六进制这么写str

bytes类型的数据表示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
x = b'ABC' #Python对bytes类型的数据用带b前缀的单引号或双引号表示,'ABC'和b'ABC'在显示上完全一样,但bytes的每个字符都只占用一个字节

编码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print('ABC'.encode('ascii')) #输出:b'ABC',以Unicode表示的str通过encode()方法可以编码为指定的bytes
print('中文'.encode('utf-8')) #输出:b'\xe4\xb8\xad\xe6\x96\x87'print('中文'.encode('ascii')) #输出:报错,因为中文字符在ascii编码范围外,所以导致编码失败

解码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print(b'ABC'.decode('ascii')) #输出:'ABC'
print(b'\xe4\xb8\xad\xe6\x96\x87'.decode('ascii')) #输出:'中文'
print(b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore')) #输出:'中',如果bytes中只有一小部分无效的字节,可以传入errors='ignore'忽略错误的字节

计算长度

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#len(a)函数返回a的长度,如果a是字符串则返回字符数,如果a是字节表示则返回字节数
print(len('中文')) #输出:2,共2个字符
print(len('ABC')) #输出:3,共3个字符
print(len(b'ABC')) #输出:3,共是3个字节
print(len(b'\xe4\xb8\xad\xe6\x96\x87')) #输出:6,共是6个字节
print(len('中文'.encode('utf-8'))) #输出:6, 1个中文字符经过UTF-8编码后通常会占用3个字节,因此两个汉字的字节数是6

源码文件开头与编码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/usr/bin/env python3       告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释
# -*- coding: utf-8 -*-      告诉Python解释器,按照UTF-8编码读取源代码,否则在源代码中写的中文输出可能会有乱码

#注意:告诉编译器使用UTF-8编码的同时,.py文件也要保存为UTF-8 without BOM编码,两者统一了,才可确保文件中的中文正常显示
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/06/06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
重磅升级!OpenAI o3-mini 空降 GitHub Copilot!好用到停不下来!
OpenAI的最新模型 o3-mini 现已在 GitHub Copilot 和 GitHub 模型中提供。将 OpenAI 的最新推理模型引入您的编码工作流程,现在可以立即使用!
程序视点
2025/02/07
2070
重磅升级!OpenAI o3-mini 空降 GitHub Copilot!好用到停不下来!
打破编程开发壁垒:GitHub Spark 多模型初探,引领AI开发新纪元!AI开发触手可及!
上一篇文章中,我们详细分享了GitHub Copilot退出多模型支持的功能介绍!GitHub Copilot火力全开!Claude、Gemini强势入局,Cursor能否绝地逢生?
程序视点
2025/01/17
930
打破编程开发壁垒:GitHub Spark 多模型初探,引领AI开发新纪元!AI开发触手可及!
惊喜连连!GitHub Copilot 又迎来 Google Gemini 2.0 Flash!这是要抱团的节奏吗?
之前我们分享道:OpenAI的最新模型 o3-mini 现已在 GitHub Copilot 和 GitHub 模型中提供。
程序视点
2025/02/10
2090
惊喜连连!GitHub Copilot 又迎来 Google Gemini 2.0 Flash!这是要抱团的节奏吗?
火起来了!OpenAI 最新模型 o3 和 o4-mini上线GitHub Copilot!
OpenAI 的最新推理模型 o3 和 o4-mini 现已在 GitHub 模型中提供。
程序视点
2025/04/29
1170
火起来了!OpenAI 最新模型 o3 和 o4-mini上线GitHub Copilot!
OpenAI GPT-4.1限时免费薅!GitHub Copilot 上悄悄更新!
OpenAI 的最新模型 GPT-4.1 现已在 GitHub Copilot 和 GitHub Model中上线。
程序视点
2025/04/15
3350
OpenAI GPT-4.1限时免费薅!GitHub Copilot 上悄悄更新!
重磅发布:OpenAI o1全新推理模型系列
2024年9月12日,OpenAI正式推出全新的推理模型系列——OpenAI o1。这款全新AI模型系列专为解决复杂问题而设计,能够在响应前花费更多时间进行思考,并通过深入推理应对比以往模型更具挑战性的科学、编程和数学问题。
TechLead
2024/09/17
2950
重磅发布:OpenAI o1全新推理模型系列
AGI的前奏曲,OpenAI发布o1模型
本次发布了OpenAI o1-preview版本,与gpt-4o模型不同的是,模型在问题做出响应之前花更多时间思考问题,就像一个人一样。
AIGC新知
2024/10/08
1250
AGI的前奏曲,OpenAI发布o1模型
GitHub Copilot火力全开!Claude、Gemini强势入局,Cursor能否绝地逢生?
大家还记得代码神器Cursor吗?Cursor出圈的的一个重要原因是有Claude 3.5 Sonnet的加持!
程序视点
2025/01/17
5480
GitHub Copilot火力全开!Claude、Gemini强势入局,Cursor能否绝地逢生?
8大模型崛起!AI Assistant 使用 o1-mini、o3-mini、Gemini、Claude等国外模型解决方案!
之前我们分享过:OJetBrains AI Assistant已经支持OpenAI的o1、01-mini、o3-mini、Gemini Pro、Claude 3.5 Sonnet等模型。
程序视点
2025/02/20
1930
8大模型崛起!AI Assistant 使用 o1-mini、o3-mini、Gemini、Claude等国外模型解决方案!
又又又史上最强?OpenAI的草莓:OpenAI-o1,推理更难的科学、编码和数学模型
“ OpenAI的o1模型的发布带来了超凡的推理能力,但它在实际使用中表现如何?从一个用户角度出发,我们来看看“草莓” o1的实际应用效果。看看它不同推理任务中的表现,包括语言理解、问题解答等,实现原理等等。”
技术人生黄勇
2024/09/17
2370
又又又史上最强?OpenAI的草莓:OpenAI-o1,推理更难的科学、编码和数学模型
猫头虎分享:ChatGPT 模型家族全解析 —— 从 GPT-4、GPT-4o、GPT-4o with Canvas、o1-preview、o1-mini、o1 pro以及最新的Sora的对比与选择
OpenAI的ChatGPT模型家族不断壮大,近期推出了多款模型,包括GPT-4、GPT-4o、GPT-4o with Canvas、o1-preview、o1-mini、o1 pro以及最新的Sora。本文将详细解析这些模型的特点、适用场景,并为您提供选择建议。
猫头虎
2024/12/13
1.3K0
奥特曼率队深夜血战DeepSeek,o3-mini急上线!价格骨折免费用,ChatGPT被挤爆
刚刚,OpenAI官宣o3-mini和o3-mini-high两大版本正式在ChatGPT上线。
新智元
2025/02/04
1470
奥特曼率队深夜血战DeepSeek,o3-mini急上线!价格骨折免费用,ChatGPT被挤爆
【官方揭秘】JetBrains AI Assistant 与其他 AI 助手(如 GitHub Copilot)相比如何?
目前 JetBrains 官方发布了IntelliJ IDEA 2024.3.3最新版本!AI Assistant也迎来更新!
程序视点
2025/02/18
1.4K0
【官方揭秘】JetBrains AI Assistant 与其他 AI 助手(如 GitHub Copilot)相比如何?
微软论文意外「走光」,OpenAI参数全泄密!GPT-4o仅200B,o1 300B
有网友猜测,4o mini是一个大约有40B参数的MoE模型,其中激活参数为8B。
新智元
2025/02/15
810
微软论文意外「走光」,OpenAI参数全泄密!GPT-4o仅200B,o1 300B
o1不是聊天模型?24小时热度暴涨,奥特曼、Brockman在线围观
在刚刚过去的一天,一篇名为《o1 isn’t a chat model(and that’s the point)》的文章引发了包括 OpenAI CEO Sam Altman、总裁 Greg Brockman 的关注。
机器之心
2025/02/03
770
o1不是聊天模型?24小时热度暴涨,奥特曼、Brockman在线围观
OpenAI o1不太行?国产模型 PK OpenAI o1,高难度数学和算法竞赛能力究竟谁更胜一筹?
在当今人工智能迅猛发展的浪潮中,大模型的竞争愈发激烈,尤其是推理模型领域,成为众多研究与评测的焦点。OpenAI 发布的 o1 系列模型曾掀起大模型革新的热潮,深度学习模型在解决复杂问题上的能力日益提升,特别是在数学、物理等科学领域的应用中取得了显著成就。而国产模型也在不断崛起,试图在这一领域占据重要地位。各类新型评测社区的出现,为模型的综合能力的评估提供了参考,推动着模型的不断优化与创新。
AGI-Eval评测社区
2025/03/21
1250
OpenAI o1不太行?国产模型 PK OpenAI o1,高难度数学和算法竞赛能力究竟谁更胜一筹?
从o1-mini到DeepSeek-R1,万字长文带你读懂推理模型的历史与技术
自 OpenAI 发布 o1-mini 模型以来,推理模型就一直是 AI 社区的热门话题,而春节前面世的开放式推理模型 DeepSeek-R1 更是让推理模型的热度达到了前所未有的高峰。
机器之心
2025/02/25
2750
从o1-mini到DeepSeek-R1,万字长文带你读懂推理模型的历史与技术
Claude Code激活最新升级!迄今为止最先进的代码工具!MacOS、Linux特别版!
用过AI编程工具的小伙伴,肯定都知道Claude。Claude 系列模型在编程领域的口碑绝对是佼佼者!
程序视点
2025/07/23
1340
面向GPT-4编程的时代来了:GitHub Copilot大升级,首次集成聊天功能
机器之心报道 编辑:蛋酱 从今天开始,面向 GPT-4 编程。 面向 GPT-4 编程,程序员们终于等到了这一天。 作为 Copilot 代码补全工具的升级,GitHub 刚刚宣布了 Copilot X 计划,正式接入 GPT-4,并放出了一系列全新功能。 Copilot X 搭建了一种以代码为中心的聊天模式。升级后的 Copilot 在整个开发生命周期中均可应用,而不仅仅是代码补全。通过整合聊天和语音功能,开发人员可以更自然地与 Copilot 进行交流。此外,Copilot X 将集成到拉取请求、命令
机器之心
2023/03/29
2K0
面向GPT-4编程的时代来了:GitHub Copilot大升级,首次集成聊天功能
万字独家爆光,首揭o1 pro架构!惊人反转,Claude 3.5 Opus没失败?
谷歌祭出最强下一代新模型Gemini 2.0 Flash,并带着多个智能体一同亮相;OpenAI「满血版」o1和o1 pro mode向所有人证明了模型的能力还远没有触及到天花板。
新智元
2025/02/15
1530
万字独家爆光,首揭o1 pro架构!惊人反转,Claude 3.5 Opus没失败?
推荐阅读
重磅升级!OpenAI o3-mini 空降 GitHub Copilot!好用到停不下来!
2070
打破编程开发壁垒:GitHub Spark 多模型初探,引领AI开发新纪元!AI开发触手可及!
930
惊喜连连!GitHub Copilot 又迎来 Google Gemini 2.0 Flash!这是要抱团的节奏吗?
2090
火起来了!OpenAI 最新模型 o3 和 o4-mini上线GitHub Copilot!
1170
OpenAI GPT-4.1限时免费薅!GitHub Copilot 上悄悄更新!
3350
重磅发布:OpenAI o1全新推理模型系列
2950
AGI的前奏曲,OpenAI发布o1模型
1250
GitHub Copilot火力全开!Claude、Gemini强势入局,Cursor能否绝地逢生?
5480
8大模型崛起!AI Assistant 使用 o1-mini、o3-mini、Gemini、Claude等国外模型解决方案!
1930
又又又史上最强?OpenAI的草莓:OpenAI-o1,推理更难的科学、编码和数学模型
2370
猫头虎分享:ChatGPT 模型家族全解析 —— 从 GPT-4、GPT-4o、GPT-4o with Canvas、o1-preview、o1-mini、o1 pro以及最新的Sora的对比与选择
1.3K0
奥特曼率队深夜血战DeepSeek,o3-mini急上线!价格骨折免费用,ChatGPT被挤爆
1470
【官方揭秘】JetBrains AI Assistant 与其他 AI 助手(如 GitHub Copilot)相比如何?
1.4K0
微软论文意外「走光」,OpenAI参数全泄密!GPT-4o仅200B,o1 300B
810
o1不是聊天模型?24小时热度暴涨,奥特曼、Brockman在线围观
770
OpenAI o1不太行?国产模型 PK OpenAI o1,高难度数学和算法竞赛能力究竟谁更胜一筹?
1250
从o1-mini到DeepSeek-R1,万字长文带你读懂推理模型的历史与技术
2750
Claude Code激活最新升级!迄今为止最先进的代码工具!MacOS、Linux特别版!
1340
面向GPT-4编程的时代来了:GitHub Copilot大升级,首次集成聊天功能
2K0
万字独家爆光,首揭o1 pro架构!惊人反转,Claude 3.5 Opus没失败?
1530
相关推荐
重磅升级!OpenAI o3-mini 空降 GitHub Copilot!好用到停不下来!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验