返回顶部
首页 > 资讯 > 后端开发 > Python >字符串与编码
  • 290
分享到

字符串与编码

字符串 2023-01-31 00:01:03 290人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

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

在最新的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编码,两者统一了,才可确保文件中的中文正常显示

 

--结束END--

本文标题: 字符串与编码

本文链接: https://lsjlt.com/news/182346.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 字符串与编码
    在最新的Python 3版本中,字符串是以Unicode编码的,即Python的字符串支持多语言 编码和解码  字符串在内存中以Unicode表示,在操作字符串时,经常需要str和bytes互相转换   字符串是可以直接在内存上进行处...
    99+
    2023-01-31
    字符串
  • Python中的字符串与字符编码
    Hello,这里是Token_w的博客,欢迎您的到来 今天文章讲解的是Python中的字符串与字符编码,其中有基础的理论知识讲解,也有实战中的应用讲解,希望对你有所帮助 整理不易,如对你有所帮助,希望能得到你的点赞、收藏支持。感谢 ...
    99+
    2023-08-30
    python android 开发语言
  • python字符串编码
    python默认编码   python 2.x默认的字符编码是ASCII,默认的文件编码也是ASCII。   python 3.x默认的字符编码是unicode,默认的文件编码是utf-8。   中文乱码问题   无论以什么编码在内存里显...
    99+
    2023-01-30
    字符串 python
  • 再谈Python中的字符串与字符编码(推荐)
    本节内容: 1.前言 2.相关概念 3.Python中的默认编码 4.Python2与Python3中对字符串的支持 5.字符编码转换 一、前言 Python中的字符编码是个老生常谈的话题,同行们...
    99+
    2022-06-04
    字符串 再谈 字符
  • python字符串与url编码的转换
    主要应用的场景 爬虫生成带搜索词语的网址 1.字符串转为url编码 import urllib poet_name = "李白" url_code_name = urllib.quote(poet_name) print url...
    99+
    2023-01-31
    字符串 python url
  • 深入解析Go 变量字符串与字符编码问题
    目录字符串Unicode UTF8常⽤字符串函数字符串就是一串固定长度的字符连接起来的字符序列(很多字符拼接在一起的)。 Go的字符串是由单个字节连接起来的。Go语言的字符串的字节使...
    99+
    2024-04-02
  • python字符编码与转码
    python 2.x 字符编码与转码打印系统默认编码格式import sys print(sys.getdefaultencoding())UTF-8 转 gbk方式:utf-8--转成--unicode--转成--gbka = "你好" ...
    99+
    2023-01-31
    字符 python
  • VBScript中的Base64编码字符串
    在VBScript中,可以使用`Base64Encode`函数来进行Base64编码。下面是一个简单的示例代码:```vbscrip...
    99+
    2023-09-26
    VBScript
  • day08(字符编码,字符与字节,文件操
      一,复习 ''' 类型转换 1.数字类型:int() | bool() | float() 2.str与int: int('10') | int('-10') | int('0') | float('-.5') ...
    99+
    2023-01-31
    字符 字节 文件
  • php如何改变字符串编码
    这篇文章主要介绍“php如何改变字符串编码”,在日常操作中,相信很多人在php如何改变字符串编码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何改变字符串编码”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-20
  • python字符串编码如何转换
    Python中字符串的编码转换可以使用`encode`和`decode`方法。具体的操作如下:1. 字符串编码:使用`encode`...
    99+
    2023-09-13
    python
  • python如何获取字符串编码
    可以使用Python的`chardet`模块来获取字符串的编码类型。首先,需要安装`chardet`模块。可以使用以下命令来安装:`...
    99+
    2023-09-04
    python
  • java怎么查看字符串编码
    可以使用以下方法来查看字符串的编码方式:1. 使用 getBytes() 方法将字符串转换为字节数组,然后打印字节数组的内容。jav...
    99+
    2023-10-18
    java
  • java字符串怎么转gbk编码
    在Java中,可以使用String.getBytes(String charsetName)方法将字符串转换为指定编码的字节数组。要...
    99+
    2023-10-18
    java
  • jquery如何转换字符串编码
    本文小编为大家详细介绍“jquery如何转换字符串编码”,内容详细,步骤清晰,细节处理妥当,希望这篇“jquery如何转换字符串编码”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。第一步:查看原始字符串编码格式在进...
    99+
    2023-07-05
  • php字符串如何转换编码
    本篇内容主要讲解“php字符串如何转换编码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php字符串如何转换编码”吧!mb_convert_encoding函数mb_convert_encodi...
    99+
    2023-07-05
  • python 字符编码与转换
    unicode 中文英文默认统一 2个字节ASCII 只有英文和特殊字符 每个占用1个字节 不能存中文每个字节由8个比特(Bit)构成假如一个英文文档是2M,转换为unicode 编码转换,就变成了4M为了解决空间浪费的问题,在unicod...
    99+
    2023-01-30
    字符 python
  • VBS字符串编码转换函数代码
    因为业务需要将一些字符串转换为指定编码方便后期操作 核心代码 Const adTypeBinary = 1 Const adTypeText = 2 ' accept a stri...
    99+
    2023-05-15
    VBS编码转换 vbscript编码转换
  • MySQL字符串拼接与分组拼接字符串实例代码
    目录一、经典拼接concat(x,x,....)二、分隔符拼接CONCAT_WS(separator,str1,str2,...)三、分组拼接GROUP_CONCAT(expr)补充:在筛选查询...
    99+
    2023-02-02
    mysql字符串拼接 mysql拼接多个字符串 mysql字符串拼接函数
  • php如何查看字符串的编码
    在php中使用mb_detect_encoding()函数和switch语句查看字符串的编码,具体方法如下:首先,新建一个php项目文件;php项目文件新建好后,在文件中定义一个字符串;$str = 'Hello world!';字符串定义...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作