gpt4 book ai didi

python - python 在计算机中如何存储字符串?

转载 作者:太空宇宙 更新时间:2023-11-03 13:22:23 28 4
gpt4 key购买 nike

我相信大多数熟悉 Python 的人都读过 Dive Into Python 3。在第 4.3 章中,它是这样说的:

In Python 3, all strings are sequences of Unicode characters. There is no such thing as a Python string encoded in UTF-8, or a Python string encoded as CP-1252. “Is this string UTF-8?” is an invalid question.

不知何故我明白了这是什么意思:strings = Unicode 集中的字符,Python 可以帮助你根据不同的编码方式对字符进行编码。但是,无论如何,Python 中的字符在计算机中都存储为字节吗?例如,s = 'strings',并且 s 肯定作为字节流 '0100100101...' 或其他任何形式存储在我的计算机中。那么这里使用的这种编码方式是什么——Python的“默认”编码方式?

谢谢!

最佳答案

Python 3 区分文本 和二进制数据。文本保证是 Unicode,但据我所知,没有指定特定的编码。所以它可能是 UTF-8、UTF-16 或 UTF-32¹——但您甚至不会注意到。

这里的要点是:你根本不应该关心。如果你想处理文本,然后使用文本字符串并通过代码点访问它们(这是单个 Unicode 字符的编号并且独立于内部 UTF - 它可以将代码点组织成几个更小的代码单元).如果你想要字节,那么使用 b"" 并按字节访问它们。如果你想要一个特定编码的字节序列中的字符串,你可以使用 .encode()


¹ 或者甚至是 UTF-9,如果有人疯狂到可以在 PDP-10 上实现 Python。

关于python - python 在计算机中如何存储字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9715877/

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