关于Python字符编码与二进制不得不说的一些事

yizhihongxing

关于Python字符编码与二进制不得不说的一些事

什么是字符编码

字符编码是将字符映射到二进制数据的一种方法。计算机无法处理字符,因此通过字符编码将字符转换为计算机可以理解的二进制数据。

常见的字符编码

ASCII

ASCII码(American Standard Code for Information Interchange)是由美国国家标准组织(ANSI)制定的字符编码。ASCII码用一个字节(8bits)表示一个字符,可以表示英文字母、数字、标点符号、控制字符等128个字符。

UTF-8

UTF-8(Unicode Transformation Format,8-bit)是Unicode的一种实现方式。UTF-8可以通过使用1~4个字节来表示一个字符。它使用ASCII码表示的字符(1个字节)和使用多字节的其他字符。UTF-8是当前互联网上使用最广泛的字符编码。

GBK

GBK是一种汉字编码标准,是表现中文字符的编码方式之一。它采用双字节编码来表示中文字符,能够表示繁体中文、简体中文和日文中的汉字和假名等。GBK与GB2312标准兼容,但是GBK能够覆盖更多的字符。

Python中的字符编码

在 Python2 中,默认字符编码是 ASCII,因此如果要使用 UTF-8 编码时,需要在文件中添加 coding 声明:

# -*- coding: utf-8 -*-

在 Python3 中,默认字符编码是 UTF-8,因此不需要添加 coding 声明。

Python中常用的字符串和字节串:

  • 字符串(str):由Unicode字符组成,用于表示字符序列。
  • 字节串(bytes):由字节组成,用于表示二进制数据。

在Python3中,字符串和字节串已经分开了,使用字符串和字节串要进行转换,转换函数为 encode 和 decode。

二进制的表示方法

二进制是计算机中最基本的计数方式。二进制只有0和1两个数字,每一位数字称为一位(bit)。8位二进制被称为一个字节(byte)。

在 Python 中,可以使用前缀 0b 或者函数 bin() 将整数转化为二进制表示,也可以使用函数 bytes() 将一个字符串转换为字节串。

示例1,将10转换为二进制:

a = 10
print(bin(a))   # 0b1010

b = bytes(str(a), encoding='utf-8')
print(b)        # b'10'

示例2,将一个字符串转换为字节串:

s = "Hello, world!"
b = bytes(s, encoding='utf-8')
print(b)        # b'Hello, world!'

最后,需要注意的一点是,Python 3 中默认使用 UTF-8 编码,所以在处理非 UTF-8 编码的数据时需要注意转换。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:关于Python字符编码与二进制不得不说的一些事 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • 初探利用Python进行图文识别(OCR)

    初探利用Python进行图文识别(OCR) OCR(Optical Character Recognition,光学字符识别)是一种将图像中的文字转换为可编辑和可搜索文本的技术。Python中有很多OCR库可以使用,本文将介绍如何使用Tesseract OCR库和Python的Pillow库进行图文识别。 安装Tesseract OCR Tesseract …

    python 2023年5月15日
    00
  • Python实现多个视频合成一个视频的功能

    这是一篇关于使用Python实现多个视频合成一个视频的攻略。我们将使用Python的OpenCV库和MoviePy库,来实现这项任务。该攻略将涵盖以下主题: 安装和引入Python库 读取视频和提取视频信息 合成多个视频 保存合成后的视频 有了这些基础知识,我们就可以开始了。 1. 安装和引入Python库 要完成这个任务,我们需要安装Python的Open…

    python 2023年5月19日
    00
  • Python中优雅使用assert断言的方法实例

    Python中优雅使用assert断言的方法实例 在Python中,assert语句是一种用于调试和测试的工具,它可以帮助我们检查代码中的假设条件,并在条件不满足时引发AssertionError异常。本文将为您提供Python中优雅使用assert断言的方法实例,包括如何使用assert语句、如何编写可读性高的assert语句、如何使用assert语句进行…

    python 2023年5月14日
    00
  • Pycharm最全报错的原因与解决方法总结(推荐!)

    PyCharm最全报错的原因与解决方法总结 PyCharm是一款非常流行的Python集成开发环境(IDE),它提供了许多有用功能,例如代码自动完成、调试、版本控制等等。然而有时候我们在使用PyCharm时会遇到各种各样的错误,这些错误可能会让我们感到困惑。本攻略将提供PyCharm最全报错的原因与解决方法总结,帮助您更好地使用PyCharm。 PyChar…

    python 2023年5月13日
    00
  • 微信 用脚本查看是否被微信好友删除

    下面是针对“微信 用脚本查看是否被微信好友删除”的完整攻略,包含了具体的步骤和两个示例说明。 1. 需要的工具和环境 Python 3.7 或以上版本 微信开发者工具 一个微信小程序应用的 AppID 2. 步骤 2.1 创建一个微信小程序 首先,我们需要创建一个微信小程序,用于获取当前用户的好友列表信息。 在微信公众平台的开发者中心中,可以创建一个小程序并…

    python 2023年6月3日
    00
  • python数据分析数据标准化及离散化详解

    以下是关于“Python数据分析数据标准化及离散化详解”的完整攻略: 简介 在数据分析中,数据标准化和离散化是两个常用的数据预处理方法。数据标准化可以将不同尺度的数据转换为相同的尺度,便于比较和分析。离散化可以将连续的数据转换为离散的数据,便于分组和统计。在本教程中,我们将介绍如何使用Python实现数据标准化和离散化,并解析相关函数实现方法和代码。 数据标…

    python 2023年5月14日
    00
  • Python 3.8正式发布重要新功能一览

    下面是详细的Python 3.8正式发布重要新功能一览攻略: 1. 字符串格式化语法的改进 Python 3.8中对字符串格式化语法进行了改进,增加了f-strings,可以更方便地将表达式嵌入到字符串中去。示例代码如下: x = 3 y = 4 print(f'{x} + {y} = {x+y}’) # 输出:3 + 4 = 7 这样可以在字符串中直接嵌入…

    python 2023年5月20日
    00
  • 详解Python PIL Image.quantize()方法

    Python PIL库中的Image.quantize()方法可以用于减少图像的色彩数量。具体来说,该方法会将原图像中的颜色映射到一组颜色中,并用这些颜色的平均值代替不再颜色映射表中的颜色。 Image.quantize(colors=None, method=None, kmeans=None, palette=None, dither=None, **k…

    python-answer 2023年3月25日
    00
合作推广
合作推广
分享本页
返回顶部