Python 字符串encode()

原文:https://www.studytonight.com/python-library-functions/python-string-encode

编码意味着将 Unicode 转换为一组字节。正如我们所知,在 Python 中数据以 Unicode 存储,但是从安全性的角度来看,我们需要将它们转换成一组字节。这个过程提高了存储字符串的效率。例如,密码在字符串中,所以为了以安全的方式存储它们,我们使用 Python 字符串encode()方法。

不同的编码方案有:

  • 美国信息交换标准代码

  • UTF-8(Unicode 转换格式)

  • ibm039 和更多。

Python 字符串encode():介绍

该方法的一般介绍如下:

  • 这是 Python 中的内置方法

  • 默认情况下, Python 中的字符串以 Unicode 存储,但是我们可以按照提供的编码标准对字符串进行编码;有几种编码方案。

  • 这种方法主要用于将字符串的 Unicode 转换为编码,python 应该支持这种编码。

  • 主要用于字符串的高效存储。

  • 它主要使用指定的编码对字符串进行编码;如果没有指定编码,那么将使用 UTF-8

  • encode()的主要应用:需要在数据库中安全存储密码(在字符串中),因此需要来保存字符串的编码版本。

Python 字符串encode():语法

下面我们有一个 Python 中字符串encode()的基本语法:

string_var.encode(encoding, errors)

Python 字符串encode() :参数

这些参数的描述如下:

  • 编码

这用于指示字符串将被编码到的编码类型。它也是一个字符串,主要指定要使用的编码。该参数的默认值为“UTF-8”

  • 错误

当编码失败时,此参数给出一个响应,有六个编码错误响应。基本上,这是一个指定错误方法的字符串。该参数的合法值如下:

  1. backslashreplace':该错误值使用反斜杠代替无法编码的字符。可以写成errors="backslashreplace"

  2. ignore':该值用于忽略不能编码的字符。可以写成errors="ignore"

  3. namereplace':该值用于用解释字符的文本替换字符。可以写成errors="namereplace"

  4. strict':这是一个默认值,失败时会引发错误。可以写成errors="strict"

  5. replace':该值用于将字符替换为问号。可以写成errors="replace"

  6. xmlcharrefreplace':该值用于将字符替换为 XML 字符。可以写成errors="xmlcharrefreplace"

如果这根弦出现故障encode()UnicodeDecodeError将引发异常。

Python 字符串encode():基本示例

下面我们有一个例子来展示encode()功能的工作情况:

str1 = "Hello and welcome to the world of pythön!"
str2 = str1.encode()
print(str2)

下面给出了相同的输出,您将看到编码形式的输出

b '大家好,欢迎来到大蟒世界\xc3\xb6n!'

Python 字符串encode():使用参数的示例

下面有一个代码片段,我们也将在其中使用 encode()函数参数。让我们看看:

str1 = "Hello pythön!!"
print(str1.encode("ascii", "replace"))

相同的输出如下所示:

b'Hello pyth?n 个!!'我不知道

Python 字符串encode():使用errors参数所有值的示例

下面我们有一个代码片段,其中我们将使用不同的误差值,这是encode()方法的参数之一:

string= "Ståle is my name"

print(string.encode(encoding="ascii",errors="backslashreplace"))
print(string.encode(encoding="ascii",errors="ignore"))
print(string.encode(encoding="ascii",errors="namereplace"))
print(string.encode(encoding="ascii",errors="replace"))
print(string.encode(encoding="ascii",errors="xmlcharrefreplace"))
print(string.encode(encoding="ascii",errors="strict"))

因此,上述代码的输出将是:

b'St\xe5le 是我的名字】 b'Stle 是我的名字】 b ' ST \ \ N {拉丁文小写字母 A WITH RING ABOVE } le 是我的名字' b'St?“乐是我的名字” b ' ST&# 229;le 是我的名字' Traceback(最近一次调用最后一次): File/tmp/sessions/353 CCB 2c a3d5 D1 fc/main . py ",第 8 行,在<模块> print(string . encode(encoding = " ascii ",errors = " strict ") unicodeencodererror:' ascii ' codec 无法编码字符' \xe5 '在位置 2:序数不在范围内(128)

时间就是活生生的例子!

让我们看一下现场的例子,以清楚地了解encode()方法:

摘要

在本教程中,我们已经了解了什么是编码?不同的编码方案,以及对encode()方法的详细描述和对encode()方法参数的深入解释。在我们看到不同的例子后,接着是现场例子。