gpt4 book ai didi

python - 为什么我们需要在python中编码和解码?

转载 作者:太空宇宙 更新时间:2023-11-04 09:24:54 26 4
gpt4 key购买 nike

编码/解码的用例是什么?

我的理解是编码用于将字符串转换为字节字符串,以便能够在程序中传递非 ascii 数据。而decode就是将这个字节串转回字符串。

但是跟随。示例显示非 acsii 字符即使没有编码/解码也能成功打印。示例:

val1="À È Ì Ò Ù Ỳ Ǹ Ẁ"
val2 = val1
print('val1 is: ',val2)

encoded_val1=val1.encode()
print('encoded_val1 is: ',encoded_val1)

decoded_encoded_val1=encoded_val1.decode()
print('decoded_encoded_val1 is: ',decoded_encoded_val1)

输出:

enter image description here

那么在python中编码和解码的用例是什么?

最佳答案

除了您的终端(或您用来查看输出的任何东西)可能支持显示这些字符之外,您正在使用的环境可能支持这些字符。某些终端/命令行或文本编辑器可能不支持它们。除了显示问题外,这里还有一些实际原因和示例:

1- 当您通过互联网/网络(例如使用套接字)传输数据时,信息以原始字节的形式传输。非 ascii 字符不能用单个字节表示,因此我们需要对它们进行特殊表示(utf-16 或 utf-8,多于一个字节)。这是我遇到的最常见的原因。

2- 一些文本编辑器只支持 utf-8。例如,您需要代表您的 utf-8 格式的字符以便与它们一起工作。原因是在处理文本时,人们大多使用 ASCII 字符,它只有一个字节。当一些系统需要与非 ascii 字符集成时,人们将它们转换为 utf-8。对于这一点,一些对文本编辑器有更深入了解的人可能会给出更好的解释。

3- 你可能有一个用 unicode 字符写的文本,里面有一些中文/俄文字母,并且出于某种原因将它存储在你的远程 Linux 服务器上。但是您的服务器不支持这些语言的字母。您需要将您的文本转换为某种严格的格式(utf-8 或 utf-16)并将其存储在您的服务器中,以便稍后恢复它们。

这里是对UTF-8 format的一点解释.如果您有兴趣,还有关于该主题的其他文章。

关于python - 为什么我们需要在python中编码和解码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58182188/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com