lan*_*nza 9 python string python-3.x
如果我没弄错的话,Python字符串存储在unicode标量中.但是,unicode标量可以组合形成其他字形簇.因此,使用内存排量start + scalarSize * n为string[n]是不是你要找的答案.
这是否意味着Python在每个标量中线性迭代以获得您正在寻找的标量?如果你有
word = 'caf' + char(65) + char(301) #café
Run Code Online (Sandbox Code Playgroud)
Python是否将其存储为五个标量,并在继续之前迭代检查是否应该组合任何标量,还是在插入时运行检查并存储"纯"标量?
编辑:我用另一种语言混淆了Python.Python print()打印出字形集群,但str无论你如何输入它们,Python都会存储标量.因此,两个组合标量将打印为一个字形集群,该集群可能与另一个标量集群相同.当你去打电话时,string[0]你会得到插入字符串的标量.
Python字符串索引不考虑字素簇。它按Unicode代码点工作。我认为Python实际上并没有内置任何与字素簇一起使用的东西。
字符串索引花费的时间是恒定的,但是如果您要检索第n个字素簇,字符串索引将无法为您完成。
(人们有时建议对字符串应用规范的构图,但是在规范的构图之后,仍然有很多可能的字素簇仍然占据多个代码点。)
| 归档时间: |
|
| 查看次数: |
1051 次 |
| 最近记录: |