Hướng dẫn python convert string to ascii bytes - python chuyển đổi chuỗi thành byte ascii

Nói rằng tôi có một chuỗi 4 ký tự và tôi muốn chuyển đổi chuỗi này thành một mảng byte trong đó mỗi ký tự trong chuỗi được dịch thành hex tương đương. ví dụ.

str = "ABCD"

Tôi đang cố gắng để có được đầu ra của mình để trở thành

array('B', [41, 42, 43, 44])

Có một cách đơn giản để thực hiện điều này?

Hướng dẫn python convert string to ascii bytes - python chuyển đổi chuỗi thành byte ascii

Hỏi ngày 24 tháng 7 năm 2012 lúc 4:29Jul 24, 2012 at 4:29

AndroiddevandroiddevAndroidDev

Huy hiệu vàng 19.8K4040 gold badges139 silver badges232 bronze badges

1

chức năng mã hóa có thể giúp bạn ở đây, mã hóa trả về một phiên bản được mã hóa của chuỗi

In [44]: str = "ABCD"

In [45]: [elem.encode("hex") for elem in str]
Out[45]: ['41', '42', '43', '44']

Hoặc bạn có thể sử dụng mô -đun mảng

In [49]: import array

In [50]: print array.array('B', "ABCD")
array('B', [65, 66, 67, 68])

Đã trả lời ngày 24 tháng 7 năm 2012 lúc 4:39Jul 24, 2012 at 4:39

2

Chỉ cần sử dụng

array('B', [41, 42, 43, 44])
7 là danh sách các byte.

Python2:

s = "ABCD"
b = bytearray()
b.extend(s)

Python3:

s = "ABCD"
b = bytearray()
b.extend(map(ord, s))

Nhân tiện, không sử dụng

array('B', [41, 42, 43, 44])
8 làm tên biến vì được tích hợp.

Đã trả lời ngày 20 tháng 3 năm 2015 lúc 14:32Mar 20, 2015 at 14:32

PithikospithikosPithikos

17.8K15 Huy hiệu vàng110 Huy hiệu bạc131 Huy hiệu đồng15 gold badges110 silver badges131 bronze badges

7

Một giải pháp thay thế để có được một mảng byte là mã hóa chuỗi trong ASCII:

array('B', [41, 42, 43, 44])
9.

Hướng dẫn python convert string to ascii bytes - python chuyển đổi chuỗi thành byte ascii

Josliber ♦

43.4K12 Huy hiệu vàng97 Huy hiệu bạc133 Huy hiệu Đồng12 gold badges97 silver badges133 bronze badges

Đã trả lời ngày 19 tháng 7 năm 2015 lúc 6:42Jul 19, 2015 at 6:42

2

Điều này phù hợp với tôi (Python 2)

s = "ABCD"
b = bytearray(s)

# if you print whole b, it still displays it as if its original string
print b

# but print first item from the array to see byte value
print b[0]

Tham khảo: http://www.dotnetperls.com/bytes-python

Đã trả lời ngày 27 tháng 5 năm 2016 lúc 3:13May 27, 2016 at 3:13

MGEARMGEARmgear

1.2432 Huy hiệu vàng22 Huy hiệu bạc35 Huy hiệu Đồng2 gold badges22 silver badges35 bronze badges

Tùy thuộc vào nhu cầu của bạn, đây có thể là một bước hoặc hai bước

  1. Sử dụng
    In [44]: str = "ABCD"
    
    In [45]: [elem.encode("hex") for elem in str]
    Out[45]: ['41', '42', '43', '44']
    
    0 để chuyển đổi chuỗi thành byte, bất biến
  2. Sử dụng
    array('B', [41, 42, 43, 44])
    
    7 để chuyển đổi byte thành bytearray, có thể thay đổi
s="ABCD"
encoded=s.encode('utf-8')
array=bytearray(encoded)

Việc xác nhận sau đây được thực hiện trong Python 3.7

>>> s="ABCD"
>>> encoded=s.encode('utf-8')
>>> encoded
b'ABCD'
>>> array=bytearray(encoded)
>>> array
bytearray(b'ABCD')

Hướng dẫn python convert string to ascii bytes - python chuyển đổi chuỗi thành byte ascii

Lleims

1.17310 huy hiệu bạc34 huy hiệu đồng10 silver badges34 bronze badges

Đã trả lời ngày 1 tháng 8 năm 2020 lúc 23:45Aug 1, 2020 at 23:45

OldPridEoldPrideoldpride

5995 Huy hiệu bạc13 Huy hiệu đồng5 silver badges13 bronze badges

1

Công việc này trong cả Python 2 và 3:

>>> bytearray(b'ABCD')
bytearray(b'ABCD')

Chuỗi ghi chú bắt đầu với

In [44]: str = "ABCD"

In [45]: [elem.encode("hex") for elem in str]
Out[45]: ['41', '42', '43', '44']
2.

Để có được các ký tự cá nhân:

array('B', [41, 42, 43, 44])
0

Hi vọng điêu nay co ich

Đã trả lời ngày 22 tháng 4 năm 2019 lúc 17:17Apr 22, 2019 at 17:17

Hướng dẫn python convert string to ascii bytes - python chuyển đổi chuỗi thành byte ascii

JULIOCESARJULIOCESARjuliocesar

5.6168 Huy hiệu vàng42 Huy hiệu bạc62 Huy hiệu Đồng8 gold badges42 silver badges62 bronze badges

array('B', [41, 42, 43, 44])
1

Nếu bạn muốn hex:

array('B', [41, 42, 43, 44])
2

Anthony

11.9k9 Huy hiệu vàng69 Huy hiệu bạc102 Huy hiệu Đồng9 gold badges69 silver badges102 bronze badges

Đã trả lời ngày 24 tháng 7 năm 2012 lúc 4:51Jul 24, 2012 at 4:51

HyryhyryHYRY

92K25 Huy hiệu vàng183 Huy hiệu bạc186 Huy hiệu Đồng25 gold badges183 silver badges186 bronze badges

1

Vì không có câu trả lời nào được tạo ra chính xác

In [44]: str = "ABCD"

In [45]: [elem.encode("hex") for elem in str]
Out[45]: ['41', '42', '43', '44']
3 và câu trả lời của Avasal thất bại trong Python 3, tôi đăng bài thay thế ở đây:

array('B', [41, 42, 43, 44])
3

bản in nào

array('B', [41, 42, 43, 44])
4

Lưu ý rằng 65-68 là ASCII chính xác cho "ABCD".

Đã trả lời ngày 15 tháng 12 năm 2021 lúc 14:04Dec 15, 2021 at 14:04

user171780user171780user171780

1.49012 huy hiệu bạc31 huy hiệu đồng12 silver badges31 bronze badges

Đối với Python 3, nó đã làm việc cho những gì @hyry đã đăng. Tôi cần nó cho một dữ liệu được trả về trong một dbus.array. Đây là cách duy nhất nó hoạt động

array('B', [41, 42, 43, 44])
5

từ mảng nhập mảng

array('B', [41, 42, 43, 44])
6

Hướng dẫn python convert string to ascii bytes - python chuyển đổi chuỗi thành byte ascii

Đã trả lời ngày 19 tháng 12 năm 2018 lúc 15:08Dec 19, 2018 at 15:08

Hướng dẫn python convert string to ascii bytes - python chuyển đổi chuỗi thành byte ascii

Chúng ta có thể chuyển đổi chuỗi thành byte không?

Chúng ta có thể sử dụng phương thức chuỗi getBytes () để mã hóa chuỗi thành chuỗi byte bằng cách sử dụng ký tự mặc định của nền tảng.Phương pháp này bị quá tải và chúng ta cũng có thể vượt qua Charset làm đối số.use String class getBytes() method to encode the string into a sequence of bytes using the platform's default charset. This method is overloaded and we can also pass Charset as argument.

Một chuỗi là bao nhiêu byte?

Nhưng những gì về một chuỗi?Một chuỗi bao gồm: tiêu đề đối tượng 8 byte (đồng bộ hóa 4 byte và bộ mô tả loại 4 byte)8-byte object header (4-byte SyncBlock and a 4-byte type descriptor)

Điều gì là bytestring trong Python?

Trong Python, một chuỗi byte chỉ là: một chuỗi các byte.Nó không thể đọc được con người.Dưới mui xe, mọi thứ phải được chuyển đổi thành chuỗi byte trước khi nó có thể được lưu trữ trong máy tính.Mặt khác, một chuỗi ký tự, thường chỉ được gọi là "chuỗi", là một chuỗi các ký tự.Nó là người có thể đọc được.a sequence of bytes. It isn't human-readable. Under the hood, everything must be converted to a byte string before it can be stored in a computer. On the other hand, a character string, often just called a "string", is a sequence of characters. It is human-readable.

Bytearray trong Python là gì?

Python |Phương thức bytearray () Chức năng bytearray () trả về một đối tượng bytearray là một mảng các byte được cho.Nó cung cấp một chuỗi các số nguyên có thể thay đổi trong phạm vi 0returns a bytearray object which is an array of given bytes. It gives a mutable sequence of integers in the range 0 <= x < 256. Returns: Returns an array of bytes of the given size. source parameter can be used to initialize the array in few different ways.