python打印列表中的内容,而不是unicode字符

10 篇文章 0 订阅

原文连接:http://stackoverflow.com/questions/16798811/print-list-of-unicode-chars-without-escape-characters


python 输入中文字符串,然后打印,可以正确打印出中文字符串。

>>> s = "你好"
>>> s
'\xe4\xbd\xa0\xe5\xa5\xbd'
>>> print s
你好

如果是列表中包含的中文,则不能直接输出中文,输出的是unicode字符

>>> s = ['你好','中国']
>>> s
['\xe4\xbd\xa0\xe5\xa5\xbd', '\xe4\xb8\xad\xe5\x9b\xbd']
>>> print s
['\xe4\xbd\xa0\xe5\xa5\xbd', '\xe4\xb8\xad\xe5\x9b\xbd']
>>> 

进行下面的转化,就可以输出正确的中文了:

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

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


另一个参考链接:http://stackoverflow.com/questions/22745876/python-print-unicode-list



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Python ,可以使用Unicode转义序列将字符转换为Unicode字符。其字符”的Unicode编码是“U+4E2D”,可以使用“\u”和编码值的16进制形式来表示。 以下是将字符”转换为Unicode字符Python代码: ``` ch = '\u4E2D' print(ch) ``` 输出结果为: ``` ``` 可以看到,通过使用Unicode转义序列,我们成功地将字符”转换为Unicode字符。 ### 回答2: 使用Python将""转换为Unicode字符可以通过内置函数`ord()`来实现。 ```python # 定义字符串 s = "" # 将字符串转换为Unicode字符 unicode_char = ord(s) # 输出结果 print(unicode_char) ``` 以上代码,`ord()`函数用于返回指定字符Unicode码点。在这里,我们将字符串""传入`ord()`函数,它将返回相应的Unicode码点。然后,我们可以将该Unicode码点赋给变量`unicode_char`,以便后续操作。 运行以上代码,输出结果将是`20013`,即""的Unicode字符码点。 需要注意的是,Unicode字符是16位编码,如果需要以字符串形式表示,可以使用`\u`前缀加上4位十六进制数来表示。在本例Unicode字符可以表示为`'\u4e2d'`。 ### 回答3: 要将字符""转换为Unicode字符,可以使用Python的内置函数`ord()`和`hex()`来完成。 `ord()`函数用于返回给定字符Unicode代码点。在Python,每个字符对应的Unicode代码点是唯一的。对于字符"",它的Unicode代码点是U+4E2D。 `hex()`函数用于将给定的整数转换为十六进制表示。可以将`ord()`函数返回的Unicode代码点作为参数传递给`hex()`函数,将其转换为相应的十六进制表示。 下面是使用Python将""转换为Unicode字符的代码示例: ```python char = "" unicode_point = ord(char) unicode_hex = hex(unicode_point) print(unicode_hex) # 输出:0x4e2d ``` 以上代码,首先定义一个变量`char`,它存储了字符""。然后使用`ord()`函数将字符""转换为对应的Unicode代码点,存储在变量`unicode_point`。接着,将`unicode_point`传递给`hex()`函数,将其转换为十六进制表示,存储在变量`unicode_hex`。最后,通过`print()`函数输出`unicode_hex`的值。 运行以上代码,输出的结果将是"0x4e2d",即字符""对应的Unicode字符表示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值