相关疑难解决方法(0)

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

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

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

python string unicode python-3.x

24
推荐指数
4
解决办法
1万
查看次数

这些字符串在Python解释器中如何表示内部?我不明白

# -*- coding: utf-8 -*-

a = 'éá??úöüó€'
print type(a)    # <type 'str'>
print a          # éá??úöüó€
print ord(a[-1]) # 172
Run Code Online (Sandbox Code Playgroud)

这为什么有效?不应该这个SyntaxError: Non-ASCII character '\xc3' in file ...吗?字符串中有unicode文字.

当我用它u作为前缀时,结果是不同的:

# -*- coding: utf-8 -*-

a = u'éá??úöüó€'
print type(a)    # <type 'unicode'>
print a          # éá??úöüó€
print ord(a[-1]) # 8364
Run Code Online (Sandbox Code Playgroud)

为什么?python中的内部表示有什么区别?我怎么能亲自看到它?:)

python string unicode python-2.7

5
推荐指数
1
解决办法
650
查看次数

标签 统计

python ×2

string ×2

unicode ×2

python-2.7 ×1

python-3.x ×1