我的编程空间,编程开发者的网络收藏夹
学习永远不晚

字符串与编码

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

字符串与编码

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

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

 

使用示例: 

单个字符的编码

print(ord('A')) #输出:65,获取字符的整数表示
print(chr(66)) #输出:B,把编码转换为对应的字符

 

十六进制表示

print('中文') #输出:'中文',
print('\u4e2d\u6587') #输出:'中文','\u4e2d\u6587'和'中文'完全对等,如果知道字符的整数编码,还可以用十六进制这么写str

 

bytes类型的数据表示

x = b'ABC' #Python对bytes类型的数据用带b前缀的单引号或双引号表示,'ABC'和b'ABC'在显示上完全一样,但bytes的每个字符都只占用一个字节

 

编码

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编码范围外,所以导致编码失败

 

解码

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'忽略错误的字节

 

计算长度

#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

 

源码文件开头与编码

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

#注意:告诉编译器使用UTF-8编码的同时,.py文件也要保存为UTF-8 without BOM编码,两者统一了,才可确保文件中的中文正常显示

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

字符串与编码

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

字符串与编码

在最新的Python 3版本中,字符串是以Unicode编码的,即Python的字符串支持多语言编码和解码  字符串在内存中以Unicode表示,在操作字符串时,经常需要str和bytes互相转换  字符串是可以直接在内存上进行处理的,但如
2023-01-31

Python中的字符串与字符编码

Hello,这里是Token_w的博客,欢迎您的到来 今天文章讲解的是Python中的字符串与字符编码,其中有基础的理论知识讲解,也有实战中的应用讲解,希望对你有所帮助 整理不易,如对你有所帮助,希望能得到你的点赞、收藏支持。感谢
2023-08-30

python字符串编码

python默认编码  python 2.x默认的字符编码是ASCII,默认的文件编码也是ASCII。  python 3.x默认的字符编码是unicode,默认的文件编码是utf-8。 中文乱码问题  无论以什么编码在内存里显示字符,存到
2023-01-30

再谈Python中的字符串与字符编码(推荐)

本节内容:1.前言2.相关概念3.Python中的默认编码4.Python2与Python3中对字符串的支持5.字符编码转换 一、前言 Python中的字符编码是个老生常谈的话题,同行们都写过很多这方面的文章。有的人云亦云,也有的写得很深入
2022-06-04

python字符串与url编码的转换

主要应用的场景 爬虫生成带搜索词语的网址1.字符串转为url编码import urllibpoet_name = "李白"url_code_name = urllib.quote(poet_name)print url_code_name#
2023-01-31

Java 中 UTF 字符串如何进行编码?(java utf字符串怎样编码)

在Java编程中,处理字符串编码是一个常见的任务,特别是对于UTF字符串的编码。UTF(UnicodeTransformationFormat)是一种通用的字符编码方案,它能够表示世界上几乎所有的字符。在Java中,字符串默认使用UTF-16编码,但在与外部系统交互或进行文
Java 中 UTF 字符串如何进行编码?(java utf字符串怎样编码)
Java2024-12-20

python字符编码与转码

python 2.x 字符编码与转码打印系统默认编码格式import sysprint(sys.getdefaultencoding())UTF-8 转 gbk方式:utf-8--转成--unicode--转成--gbka = "你好"pr
2023-01-31

VBScript中的Base64编码字符串

在VBScript中,可以使用`Base64Encode`函数来进行Base64编码。下面是一个简单的示例代码:```vbscriptDim Base64StringBase64String = Base64Encode("Hello, W
2023-09-26

php如何改变字符串编码

这篇文章主要介绍“php如何改变字符串编码”,在日常操作中,相信很多人在php如何改变字符串编码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何改变字符串编码”的疑惑有所帮助!接下来,请跟着小编一起来
2023-06-20

jquery如何转换字符串编码

本文小编为大家详细介绍“jquery如何转换字符串编码”,内容详细,步骤清晰,细节处理妥当,希望这篇“jquery如何转换字符串编码”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。第一步:查看原始字符串编码格式在进
2023-07-05

python如何获取字符串编码

可以使用Python的`chardet`模块来获取字符串的编码类型。首先,需要安装`chardet`模块。可以使用以下命令来安装:```pip install chardet```然后,可以使用以下代码来获取字符串的编码类型:```pyth
2023-09-04

php字符串如何转换编码

本篇内容主要讲解“php字符串如何转换编码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php字符串如何转换编码”吧!mb_convert_encoding函数mb_convert_encodi
2023-07-05

python字符串编码如何转换

Python中字符串的编码转换可以使用`encode`和`decode`方法。具体的操作如下:1. 字符串编码:使用`encode`方法将字符串转换为指定编码的字节序列。可以指定的编码包括`utf-8`、`gbk`等。示例如下:```pyt
2023-09-13

java怎么查看字符串编码

可以使用以下方法来查看字符串的编码方式:1. 使用 getBytes() 方法将字符串转换为字节数组,然后打印字节数组的内容。javaString str = "Hello, World!";byte[] bytes = str.getBy
2023-10-18

java字符串怎么转gbk编码

在Java中,可以使用String.getBytes(String charsetName)方法将字符串转换为指定编码的字节数组。要将字符串转换为GBK编码,可以使用以下代码:javaString str = "你好";byte[] byt
2023-10-18

如何将 Java 字符串转换为 utf 编码?(如何转换java字符串为utf编码)

在Java编程中,经常会遇到需要将字符串转换为utf编码的情况。UTF是一种通用的字符编码方式,它可以表示世界上几乎所有的字符。以下是将Java字符串转换为utf编码的详细步骤:一、了解utf编码UTF(U
如何将 Java 字符串转换为 utf 编码?(如何转换java字符串为utf编码)
Java2024-12-16

day08(字符编码,字符与字节,文件操

一,复习''' 类型转换 1.数字类型:int() | bool() | float() 2.str与int: int('10') | int('-10') | int('0') | float('-.5') | float('
2023-01-31

VBS字符串编码转换函数代码

这篇文章主要介绍了vbs字符串在不同编码之间的转换,包括 ISO-8859-1,UTF-8,GBK,GB2312,GB18030之间的转换,需要的朋友可以参考下
2023-05-15

MySQL字符串拼接与分组拼接字符串实例代码

目录一、经典拼接concat(x,x,....)二、分隔符拼接CONCAT_WS(separator,str1,str2,...)三、分组拼接GROUP_CONCAT(expr)补充:在筛选查询中进行字符串拼接并显示在表格里总结一、经典拼接
2023-02-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录