[英]How do I convert unicode characters (ASCII 10) to text in Python
[英]How do I get a list of all the ASCII characters using Python?
我正在尋找類似以下的內容:
import ascii
print(ascii.charlist())
這將返回類似["A", "B", "C", "D"... ]
的東西。
string
模塊中的常量可能是你想要的。
所有 ASCII 大寫字母:
>>> import string
>>> string.ascii_uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
所有 可打印的ASCII 字符:
>>> string.printable
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c'
>>> ''.join(chr(i) for i in range(128))
'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f'
這里是:
[chr(i) for i in range(128)]
ASCII 定義了 128 個字符,其字節值范圍從 0 到 127(含)。 所以要獲得所有 ASCII 字符的字符串,你可以這樣做
''.join(chr(i) for i in range(128))
其中只有 100 個被認為是可打印的。 可打印的 ASCII 字符可以通過以下方式訪問
import string
string.printable
由於 ASCII 可打印字符是一個非常小的列表(值介於 32 和 126 之間的字節),因此在您需要時很容易生成:
>>> for c in (chr(i) for i in range(32, 127)):
... print(c)
...
!
"
#
$
%
... # a few lines removed :)
y
z
{
|
}
~
for i in range(0, 128):
print(chr(i))
您可以在沒有模塊的情況下執行此操作:
characters = list(map(chr, range(97, 123)))
輸入characters
,它應該打印["a","b","c", ... ,"x","y","z"]
。 對於大寫使用:
characters = list(map(chr, range(65, 91)))
任何范圍(包括使用范圍步驟)都可以用於此,因為它使用了 Unicode。 因此,增加range()
以將更多字符添加到列表中。
map()
在range()
) 的每次迭代中調用chr()
) 。
不,沒有,但您可以輕松制作:
#Your ascii.py program:
def charlist(begin, end):
charlist = []
for i in range(begin, end):
charlist.append(chr(i))
return ''.join(charlist)
#Python shell:
#import ascii
#print(ascii.charlist(50, 100))
#Comes out as:
#23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.