当前位置: 首页 > 面试题库 >

什么是Python 3.x中字符串的内部表示形式

蓝飞
2023-03-14
问题内容

在Python 3.x中,字符串由Unicode序数项组成。(请参见下面的语言参考引号。)Unicode字符串的内部表示是什么?是UTF-16吗?

字符串对象的项目是Unicode代码单元。Unicode代码单元由一项的字符串对象表示,并且可以保存表示Unicode序数的16位或32位值(序数的最大值在sys.maxunicode中给出,并且取决于Python的方式在编译时配置)。代理对可能出现在Unicode对象中,并将被报告为两个单独的项目。


问题答案:

Python 2.X和3.X之间的Unicode内部表示形式没有变化。

绝对不是UTF-16。 UTF-anything是面向字节的EXTERNAL表示形式。

已为每个代码单元(字符,代理等)分配了一个范围为(0,2 ** 21)的数字。这称为其“普通”。

确实,您引用的文档说明了一切。大多数Python二进制文件都使用16位常规字符,这将您限制在基本多语言平面(“
BMP”)中,除非您想用替代物来解决(如果您找不到发衫并且钉子床不被使用,则非常方便)生锈)。为了使用完整的Unicode曲目,您最好使用“宽构建”(32位宽)。

简而言之,unicode对象中的内部表示形式是16位无符号整数的数组或32位无符号整数的数组(仅使用21位)。



 类似资料:
  • 本文向大家介绍JavaScript 数字的字符串表示形式,包括了JavaScript 数字的字符串表示形式的使用技巧和注意事项,需要的朋友参考一下 示例 JavaScript具有从Number到String表示形式的本地转换,从2到36的任何基数。 十进制(以10为底)之后最常见的表示形式是十六进制(以16为底),但本节的内容适用于范围内的所有底。 为了将数字从十进制(以10为底)转换为十六进制(

  • 问题内容: 和之间有什么区别?这部分是什么意思?Python文档的哪一章涵盖了该主题? 问题答案: 前导的转义序列意味着接下来的两个字符被解释为字符代码的十六进制数字,因此等于-即小而小写的小写字符。 转义序列记录在Python文档的此处的简短表格中。

  • 我想提取所有“like string”,即。 像“%”12548“%” 例如“%” 例如“%” 例如“%” 例如“%” 我在java当我获取组时,它不会返回正确的结果。请建议。

  • 问题内容: 我有一个C python扩展名,我想打印一些诊断信息。 我收到一个字符串作为PyObject *。 获取此对象的字符串表示形式(使其可用作const char *)的规范方法是什么? 更新: 澄清以强调访问为const char *。 问题答案: 使用(模仿Python的函数)或(模仿),然后调用get (您可以并且通常应该将其用作,例如: 任何人都可以使用此方法。如果您完全确定是Py

  • 问题内容: 我对Java中的StringPool感到困惑。我在阅读Java中的String一章时遇到了这个问题。用外行的术语,请帮助我了解StringPool的实际作用。 问题答案: 打印(即使我们不使用方法:比较字符串的正确方法) 当编译器优化你的字符串文字时,它会看到两者s和t具有相同的值,因此你只需要一个字符串对象。这是安全的,因为在中是不可变的。 结果,两者和都t指向同一个对象,节省了一些

  • 其实说到字符串,这个概念没有具体的说法,但是我们根据平时的归纳总结,也能一段,便于大家理解,字符串就是把字符连在一直,串成一串又一串;字符串内可以包含数字、字母、特殊符号等所有内容;在Python中只要对一些内容加上对双引号或一对单引号,就默认为是字符串;(三对单引号或三对双引号可以写多行字符串)。 字符串的关键是str,是string的缩写。 一、什么是字符串? 解释:对于"Holl world