gpt4 book ai didi

python - 如何打印奇怪的字符串字符?

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

我有一个名字列表。其中一些由奇怪的字符组成,例如 ★ 或 ™。当我迭代抛出列表时,它打印得很好:

★ StatTrak™ Huntsman Knife | Safari Mesh (Battle-Scarred)
Souvenir USP-S | Night Ops (Well-Worn)
StatTrak™ G3SG1 | The Executioner (Minimal Wear)

但是,当我尝试一张一张打印时:

print a[0]
'\xe2\x98\x85 StatTrak\xe2\x84\xa2 Huntsman Knife | Safari Mesh (Battle-Scarred)'

如何解决这个问题?

更新:

迭代:

list = ['★ StatTrak™ Huntsman Knife | Safari Mesh (Battle-Scarred)',
'Souvenir USP-S | Night Ops (Well-Worn)',
'StatTrak™ G3SG1 | The Executioner (Minimal Wear)']

for name in list:
print name

>>>
★ StatTrak™ Huntsman Knife | Safari Mesh (Battle-Scarred)
Souvenir USP-S | Night Ops (Well-Worn)
StatTrak™ G3SG1 | The Executioner (Minimal Wear)

但是:

list[0]
>>>
'StatTrak\xe2\x84\xa2 G3SG1 | The Executioner (Minimal Wear)'

最佳答案

你的情况没有问题,我觉得你只是需要稍微说明一下。但首先,您有 2 个错别字,我希望您能更正:

  1. list[2] 而不是 list[0]
  2. a[0] 而不是 print a[0]

当您直接键入 list[2] 时,您会得到以下输出:

'StatTrak\xe2\x84\xa2 G3SG1 |刽子手(略有磨损)'

那是因为:

list[2] + 回车list[2].__repr__() + 回车

我的意思是您获得了 list[2] 的 UTF-8 表示。请注意,Python 从启动它的环境中获取此 UTF-8 表示形式,您可以通过键入以下内容进行检查:

>>> import sys
>>> print sys.stdout.encoding
UTF-8

但是如果你输入 print list[2] 你会得到:

>>> print list[2]
StatTrak™ G3SG1 | The Executioner (Minimal Wear)
>>>

那是因为当您使用 bystring 调用 print 时,Python 首先转换为 unicode。我的意思是:

print list[2]

(相当于)

print b"'StatTrak\xe2\x84\xa2 G3SG1 | The Executioner (Minimal Wear)'".decode('utf-8')

演示:

>>> print b"'StatTrak\xe2\x84\xa2 G3SG1 | The Executioner (Minimal Wear)'".decode('utf-8')
'StatTrak™ G3SG1 | The Executioner (Minimal Wear)'
>>>

简单地:

>>> a='★ '
>>> b='™'
>>> a
'\xe2\x98\x85 '
>>> b
'\xe2\x84\xa2'
>>> print b"'\xe2\x98\x85 '".decode('utf-8')
'★ '
>>> print b"'\xe2\x84\xa2'".decode('utf-8')
'™'
>>> print a

>>> print b

>>>

关于python - 如何打印奇怪的字符串字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35512319/

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