簡體   English   中英

如何使用 Python 獲取所有 ASCII 字符的列表?

[英]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'

對於ASCII 標准中定義的每個字符,請使用chr

>>> ''.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM