首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从ASCII号转换而来的打印文本的Python一行?

从ASCII号转换而来的打印文本的Python一行?
EN

Stack Overflow用户
提问于 2017-12-04 06:42:59
回答 3查看 726关注 0票数 2

下面的命令打印它的ASCII代表的文本。

代码语言:javascript
运行
复制
python -c "print unichr(72)"

例如。

代码语言:javascript
运行
复制
[user@linux ~]$ python -c "print unichr(72)"
H
[user@linux ~]$

但这只适用于一个角色。如果我有一个ASCII字符串,比方说72 101 108 108 111 32 87 111 114 108 100 for Hello World,那么是否可以用一行来转换它呢?

我一直在尝试以下命令,但没有奏效。

代码语言:javascript
运行
复制
[user@linux ~]$ python -c "print unichr(72)" "unichr(72)"
H
[user@linux ~]$ 

..。

代码语言:javascript
运行
复制
[user@linux ~]$ python -c "print unichr(72) unichr(72)"      
  File "<string>", line 1
    print unichr(72) unichr(72)
                          ^
SyntaxError: invalid syntax
[user@linux ~]$

..。

代码语言:javascript
运行
复制
[user@linux ~]$ python -c "print unichr(72)(72)"         
Traceback (most recent call last):
  File "<string>", line 1, in <module>
TypeError: 'unicode' object is not callable
[user@linux ~]$ 
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-12-04 06:49:52

代码语言:javascript
运行
复制
$ python -c 'print "".join(unichr(i) for i in (72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100))'
Hello World

它是如何工作的

这将生成unicode字符列表:

代码语言:javascript
运行
复制
>>> [unichr(i) for i in (72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100)]
[u'H', u'e', u'l', u'l', u'o', u' ', u'W', u'o', u'r', u'l', u'd']

这将将字符列表组合为字符串:

代码语言:javascript
运行
复制
>>> ''.join(unichr(i) for i in (72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100))
u'Hello World'

Python3版本

unichr不再存在于python3中。相反,请使用:

代码语言:javascript
运行
复制
>>> print("".join(chr(i) for i in (72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100)))
Hello World
票数 2
EN

Stack Overflow用户

发布于 2017-12-04 06:50:22

怎么样

代码语言:javascript
运行
复制
 python -c 'print "".join(unichr(int(c)) for c in "72 101 108 108 111 32 87 111 114 108 100".split(" "))'
票数 0
EN

Stack Overflow用户

发布于 2017-12-04 06:51:24

unichr()调用与+,分开就可以了。

示例:python -c "print unichr(72)+unichr(73),unichr(65)"打印HI A

您可以看到+级联,而,在两者之间添加了一个空格。

因此,您可以在+函数调用之间使用unichr()运算符。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47627832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档