它目前只是打印回字母,我想知道如何让它打印 unicode。
def encoder():
plain=input('Enter a word: ')
for i in plain:
ord(i)
print(i, end='')
你没有对ord(i)
;的结果做任何事情 您只需调用它并丢弃该值。您需要将其分配给某些东西,或打印它:
print(ord(i), end='')
整数和字符串是不可变的,ord()
不会i
为您就地更改。您需要将返回的结果值分配ord()
给i
:
i = ord(i)
或者只是打印函数的输出而不是i
:
for i in plain:
print(ord(i), end='')
这将打印代码点的十进制值。如果你想要十六进制输出,你需要格式化整数返回值ord()
,可能在它们之间有一些空格:
for i in plain:
print(format(ord(i), 'x'), end=' ')
这使用该format()
函数x
通过使用格式规范将整数格式化为小写十六进制数。
现在你得到:
>>> plain = 'Hello world!'
>>> for i in plain:
... print(format(ord(i), 'x'), end=' ')
...
48 65 6c 6c 6f 20 77 6f 72 6c 64 21