Tôi đã có một danh sách trong một chương trình Python có chứa một chuỗi các số, đó là các giá trị ASCII của chúng. Làm cách nào để chuyển đổi chuỗi này thành chuỗi "thông thường" mà tôi có thể lặp lại với màn hình?Làm cách nào để chuyển đổi danh sách các giá trị ascii thành chuỗi trong python?
44
A
Trả lời
82
Bạn có thể tìm cho 'chr()': giải pháp cơ bản
>>> L = [104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100]
>>> ''.join(chr(i) for i in L)
'hello, world'
6
l = [83, 84, 65, 67, 75]
s = "".join([chr(c) for c in l])
print s
18
Tương tự như những người khác, nhưng cá nhân tôi thích sử dụng bản đồ thay vì hiểu danh sách:
>>> L = [104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100]
>>> ''.join(map(chr,L))
'hello, world'
11
import array
def f7(list):
return array.array('B', list).tostring()
+1
1 Đây là cao hơn nhiều so với danh sách dài – benpro
1
def working_ascii(): "" " Đ ư ợ c k 71, 114, 101, 101, 116, 105, 110, 103, 115, 33 """
hello = [71, 114, 101, 101, 116, 105, 110, 103, 115, 33]
pmsg = ''.join(chr(i) for i in hello)
print(pmsg)
for i in range(33, 256):
print(" ascii: {0} char: {1}".format(i, chr(i)))
working_ascii()
2
Có lẽ không phải là Pyhtonic một giải pháp, nhưng dễ đọc hơn cho noobs như tôi:
charlist = [34, 38, 49, 67, 89, 45, 103, 105, 119, 125]
mystring = ""
for char in charlist:
mystring = mystring + chr(char)
print mystring
tôi sẽ đặt cược bạn đã tạo mà danh sách L sử dụng '[ord (x) cho x trong 'hello, world']' – zapstar