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

打印不带转义字符的Unicode字符列表

吕岳
2023-03-14
问题内容

如果您有一个带有unicode字符的字符串,则可以打印它,并获得未转义的版本:

>>> s = "äåö"
>>> s
'\xc3\xa4\xc3\xa5\xc3\xb6'
>>> print s
äåö

但是如果我们有一个包含上面字符串的列表并打印出来:

>>> s = ['äåö']
>>> s
['\xc3\xa4\xc3\xa5\xc3\xb6']
>>> print s
['\xc3\xa4\xc3\xa5\xc3\xb6']

您仍然会获得转义的字符序列。您如何才能使列表的内容不被转义,这可能吗?像这样:

>>> print s
['äåö']

另外,如果字符串是unicode类型,那么您如何与上述相同?

>>> s = u'åäö'
>>> s
u'\xe5\xe4\xf6'
>>> print s
åäö
>>> s = [u'åäö']
>>> s
[u'\xe5\xe4\xf6']
>>> print s
[u'\xe5\xe4\xf6']

问题答案:

打印字符串时,将获得__str__对象方法的输出-
在这种情况下,该字符串不带引号。__str__列表的方法不同,它创建一个包含打开和关闭[]的字符串,以及__repr__包含在其中的每个对象的方法所产生的字符串。你看到的是之间的差异__str____repr__

您可以改为构建自己的字符串:

print '[' + ','.join("'" + str(x) + "'" for x in s) + ']'

此版本应可在Python 2中的Unicode和字节字符串上使用:

print u'[' + u','.join(u"'" + unicode(x) + u"'" for x in s) + u']'


 类似资料:
  • 我有一个数据库,它存储带有Unicode字符的视频游戏名称,但我不知道如何在将这些Unicode字符打印到超文本标记语言响应时正确转义它们。 例如,当我打印所有名为Uncharted的游戏时,我会得到以下信息: 但它应该显示以下内容: 我运行了一个快速的JavaScript转义函数,查看哪个Unicode字符™并发现它是。 如果我能得到字符以正确显示。我的猜测是以某种方式找到字符串中每个字符的十六

  • 问题内容: 如何打印字符串的转义表示形式,例如,如果我有: 我希望输出: 在屏幕上而不是 问题答案: 我认为您正在寻找: 从Apache Commons Lang v2.6 在Apache Commons Lang v3.5 +中已弃用,请使用Apache Commons Text v1.2

  • 问题内容: 当我尝试使用“ unicode(head.contents [3])”获取标签的内容时,我得到类似于以下的输出:“ Christensen Sk \ xf6ld”。我希望转义序列作为字符串返回。如何在python中做? 问题答案: 假设Python将名称视为普通字符串,则首先必须将其解码为unicode: 实现此目的的另一种方法: 注意字符串前面的“ u”,表示它是未编码的。如果进行打

  • 问题内容: 我在UTF-8中有一个简单的测试页,其中带有多种不同语言字母的文本被字符串化为JSON: http://jsfiddle.net/Mhgy5/ HTML: JavaScript: 虽然我希望根据JSON规范将非ASCII字符转义为\ uXXXX ,但它们似乎未受影响。这是我从上述测试中获得的输出: 我使用的是Chrome,因此应该是本机实现。页面的编码为UTF-8。非ASCII字符不应

  • 问题内容: 在解析包含unicode转义序列的json字符串时,存在一个长期存在的错误。似乎需要修复该错误,这种错误可能很快就不会发生,因此我正在寻找一种在R中创建解决方法的方法,该方法在将序列提供给json解析器之前先取消序列化。 一些上下文:json数据始终是unicode,默认情况下使用,因此通常不需要转义。但是出于历史原因,json确实支持转义的unicode。因此json数据 和 是等效

  • 问题内容: 我在Java中的字符串变量中具有以下值,该字符串变量具有如下编码的UTF-8字符 代替 (假设我无法控制如何将此值分配给此字符串变量) 现在如何正确转换(编码)并将其存储回String变量中? 我发现以下代码 但这会返回,但我要返回。 编辑: 一些其他信息。 当我使用我得到 我不确定什么是正确的术语(UTF-8或unicode)。 问题答案: 尝试 来自Apache Commons L