Hướng dẫn how do i convert string to binary in python? - làm cách nào để chuyển đổi chuỗi thành nhị phân trong python?

Nếu theo nhị phân, bạn có nghĩa là loại bytes, bạn chỉ có thể sử dụng phương thức encode của đối tượng chuỗi mã hóa chuỗi của bạn dưới dạng đối tượng byte bằng cách sử dụng loại mã hóa được truyền. Bạn chỉ cần đảm bảo rằng bạn chuyển một mã hóa thích hợp cho chức năng encode.

In [9]: "hello world".encode('ascii')                                                                                                                                                                       
Out[9]: b'hello world'

In [10]: byte_obj = "hello world".encode('ascii')                                                                                                                                                           

In [11]: byte_obj                                                                                                                                                                                           
Out[11]: b'hello world'

In [12]: byte_obj[0]                                                                                                                                                                                        
Out[12]: 104

Mặt khác, nếu bạn muốn chúng ở dạng số không và biểu diễn nhị phân-như một cách pythonic hơn, trước tiên bạn có thể chuyển đổi chuỗi của mình thành mảng byte sau đó sử dụng hàm ____10 trong

>>> st = "hello world"
>>> map(bin,bytearray(st))
['0b1101000', '0b1100101', '0b1101100', '0b1101100', '0b1101111', '0b100000', '0b1110111', '0b1101111', '0b1110010', '0b1101100', '0b1100100']
 
1:

>>> st = "hello world"
>>> map(bin,bytearray(st))
['0b1101000', '0b1100101', '0b1101100', '0b1101100', '0b1101111', '0b100000', '0b1110111', '0b1101111', '0b1110010', '0b1101100', '0b1100100']
 

Hoặc bạn có thể tham gia nó:

>>> ' '.join(map(bin,bytearray(st)))
'0b1101000 0b1100101 0b1101100 0b1101100 0b1101111 0b100000 0b1110111 0b1101111 0b1110010 0b1101100 0b1100100'

Lưu ý rằng trong Python3, bạn cần chỉ định mã hóa cho hàm

>>> st = "hello world"
>>> map(bin,bytearray(st))
['0b1101000', '0b1100101', '0b1101100', '0b1101100', '0b1101111', '0b100000', '0b1110111', '0b1101111', '0b1110010', '0b1101100', '0b1100100']
 
2:

>>> ' '.join(map(bin,bytearray(st,'utf8')))
'0b1101000 0b1100101 0b1101100 0b1101100 0b1101111 0b100000 0b1110111 0b1101111 0b1110010 0b1101100 0b1100100'

Bạn cũng có thể sử dụng mô -đun

>>> st = "hello world"
>>> map(bin,bytearray(st))
['0b1101000', '0b1100101', '0b1101100', '0b1101100', '0b1101111', '0b100000', '0b1110111', '0b1101111', '0b1110010', '0b1101100', '0b1100100']
 
3 trong Python 2:

>>> import binascii
>>> bin(int(binascii.hexlify(st),16))
'0b110100001100101011011000110110001101111001000000111011101101111011100100110110001100100'

>>> st = "hello world"
>>> map(bin,bytearray(st))
['0b1101000', '0b1100101', '0b1101100', '0b1101100', '0b1101111', '0b100000', '0b1110111', '0b1101111', '0b1110010', '0b1101100', '0b1100100']
 
4 Trả về biểu diễn thập lục phân của dữ liệu nhị phân sau đó bạn có thể chuyển đổi sang INT bằng cách chỉ định 16 là cơ sở của nó sau đó chuyển đổi nó thành nhị phân với
>>> st = "hello world"
>>> map(bin,bytearray(st))
['0b1101000', '0b1100101', '0b1101100', '0b1101100', '0b1101111', '0b100000', '0b1110111', '0b1101111', '0b1110010', '0b1101100', '0b1100100']
 
0.

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Cải thiện bài viết

    Lưu bài viết

    Đọc

    Bàn luận
    The combination of above functions can be used to perform this particular task. The ord function converts the character to it’s ASCII equivalent, format converts this to binary number and join is used to join each converted character to form a string.

    Chuyển đổi dữ liệu luôn được sử dụng rộng rãi tiện ích và một trong số đó có thể là chuyển đổi một chuỗi thành nó tương đương nhị phân. Hãy để thảo luận về những cách nhất định trong đó điều này có thể được thực hiện.

    >>> ' '.join(map(bin,bytearray(st)))
    '0b1101000 0b1100101 0b1101100 0b1101100 0b1101111 0b100000 0b1110111 0b1101111 0b1110010 0b1101100 0b1100100'
    
    0
    >>> ' '.join(map(bin,bytearray(st)))
    '0b1101000 0b1100101 0b1101100 0b1101100 0b1101111 0b100000 0b1110111 0b1101111 0b1110010 0b1101100 0b1100100'
    
    1
    >>> ' '.join(map(bin,bytearray(st)))
    '0b1101000 0b1100101 0b1101100 0b1101100 0b1101111 0b100000 0b1110111 0b1101111 0b1110010 0b1101100 0b1100100'
    
    2
    >>> ' '.join(map(bin,bytearray(st)))
    '0b1101000 0b1100101 0b1101100 0b1101100 0b1101111 0b100000 0b1110111 0b1101111 0b1110010 0b1101100 0b1100100'
    
    3
    >>> ' '.join(map(bin,bytearray(st)))
    '0b1101000 0b1100101 0b1101100 0b1101100 0b1101111 0b100000 0b1110111 0b1101111 0b1110010 0b1101100 0b1100100'
    
    4
    >>> ' '.join(map(bin,bytearray(st)))
    '0b1101000 0b1100101 0b1101100 0b1101100 0b1101111 0b100000 0b1110111 0b1101111 0b1110010 0b1101100 0b1100100'
    
    5

    Phương pháp số 1: Sử dụng

    >>> st = "hello world"
    >>> map(bin,bytearray(st))
    ['0b1101000', '0b1100101', '0b1101100', '0b1101100', '0b1101111', '0b100000', '0b1110111', '0b1101111', '0b1110010', '0b1101100', '0b1100100']
     
    
    6 Sự kết hợp của các hàm trên có thể được sử dụng để thực hiện nhiệm vụ cụ thể này. Hàm ord chuyển đổi ký tự thành tương đương ASCII, định dạng chuyển đổi số này thành số nhị phân và tham gia được sử dụng để nối từng ký tự được chuyển đổi để tạo thành một chuỗi.

    >>> ' '.join(map(bin,bytearray(st)))
    '0b1101000 0b1100101 0b1101100 0b1101100 0b1101111 0b100000 0b1110111 0b1101111 0b1110010 0b1101100 0b1100100'
    
    0
    >>> ' '.join(map(bin,bytearray(st)))
    '0b1101000 0b1100101 0b1101100 0b1101100 0b1101111 0b100000 0b1110111 0b1101111 0b1110010 0b1101100 0b1100100'
    
    1
    >>> ' '.join(map(bin,bytearray(st,'utf8')))
    '0b1101000 0b1100101 0b1101100 0b1101100 0b1101111 0b100000 0b1110111 0b1101111 0b1110010 0b1101100 0b1100100'
    
    8
    >>> ' '.join(map(bin,bytearray(st)))
    '0b1101000 0b1100101 0b1101100 0b1101100 0b1101111 0b100000 0b1110111 0b1101111 0b1110010 0b1101100 0b1100100'
    
    3
    >>> ' '.join(map(bin,bytearray(st)))
    '0b1101000 0b1100101 0b1101100 0b1101100 0b1101111 0b100000 0b1110111 0b1101111 0b1110010 0b1101100 0b1100100'
    
    4
    >>> import binascii
    >>> bin(int(binascii.hexlify(st),16))
    '0b110100001100101011011000110110001101111001000000111011101101111011100100110110001100100'
    
    1

    Đầu ra:

    The original string is : GeeksforGeeks
    The string after binary conversion : 01000111011001010110010101101011011100110110011001101111011100100100011101100101011001010110101101110011

    Cải thiện bài viết
    This method is almost similar to the above function. The difference here is that rather than converting the character to it’s ASCII using ord function, the conversion at once of string is done by bytearray function.

    Chuyển đổi dữ liệu luôn được sử dụng rộng rãi tiện ích và một trong số đó có thể là chuyển đổi một chuỗi thành nó tương đương nhị phân. Hãy để thảo luận về những cách nhất định trong đó điều này có thể được thực hiện.

    >>> ' '.join(map(bin,bytearray(st)))
    '0b1101000 0b1100101 0b1101100 0b1101100 0b1101111 0b100000 0b1110111 0b1101111 0b1110010 0b1101100 0b1100100'
    
    0
    >>> ' '.join(map(bin,bytearray(st)))
    '0b1101000 0b1100101 0b1101100 0b1101100 0b1101111 0b100000 0b1110111 0b1101111 0b1110010 0b1101100 0b1100100'
    
    1
    >>> ' '.join(map(bin,bytearray(st)))
    '0b1101000 0b1100101 0b1101100 0b1101100 0b1101111 0b100000 0b1110111 0b1101111 0b1110010 0b1101100 0b1100100'
    
    2
    >>> ' '.join(map(bin,bytearray(st)))
    '0b1101000 0b1100101 0b1101100 0b1101100 0b1101111 0b100000 0b1110111 0b1101111 0b1110010 0b1101100 0b1100100'
    
    3
    >>> ' '.join(map(bin,bytearray(st)))
    '0b1101000 0b1100101 0b1101100 0b1101100 0b1101111 0b100000 0b1110111 0b1101111 0b1110010 0b1101100 0b1100100'
    
    4
    >>> ' '.join(map(bin,bytearray(st)))
    '0b1101000 0b1100101 0b1101100 0b1101100 0b1101111 0b100000 0b1110111 0b1101111 0b1110010 0b1101100 0b1100100'
    
    5

    >>> ' '.join(map(bin,bytearray(st)))
    '0b1101000 0b1100101 0b1101100 0b1101100 0b1101111 0b100000 0b1110111 0b1101111 0b1110010 0b1101100 0b1100100'
    
    6
    >>> st = "hello world"
    >>> map(bin,bytearray(st))
    ['0b1101000', '0b1100101', '0b1101100', '0b1101100', '0b1101111', '0b100000', '0b1110111', '0b1101111', '0b1110010', '0b1101100', '0b1100100']
     
    
    8
    >>> ' '.join(map(bin,bytearray(st)))
    '0b1101000 0b1100101 0b1101100 0b1101100 0b1101111 0b100000 0b1110111 0b1101111 0b1110010 0b1101100 0b1100100'
    
    8
    The original string is : GeeksforGeeks
    The string after binary conversion : 01000111011001010110010101101011011100110110011001101111011100100100011101100101011001010110101101110011
    5
    >>> ' '.join(map(bin,bytearray(st,'utf8')))
    '0b1101000 0b1100101 0b1101100 0b1101100 0b1101111 0b100000 0b1110111 0b1101111 0b1110010 0b1101100 0b1100100'
    
    0
    The original string is : GeeksforGeeks
    The string after binary conversion : 01000111011001010110010101101011011100110110011001101111011100100100011101100101011001010110101101110011
    7____58
    The original string is : GeeksforGeeks
    The string after binary conversion : 01000111011001010110010101101011011100110110011001101111011100100100011101100101011001010110101101110011
    9
    The original string is : GeeksforGeeks
    The string after binary conversion : 01000111011001010110010101101011011100110110011001101111011100100100011101100101011001010110101101110011
    
    0
    The original string is : GeeksforGeeks
    The string after binary conversion : 01000111011001010110010101101011011100110110011001101111011100100100011101100101011001010110101101110011
    
    1

    >>> ' '.join(map(bin,bytearray(st)))
    '0b1101000 0b1100101 0b1101100 0b1101100 0b1101111 0b100000 0b1110111 0b1101111 0b1110010 0b1101100 0b1100100'
    
    0
    >>> ' '.join(map(bin,bytearray(st)))
    '0b1101000 0b1100101 0b1101100 0b1101100 0b1101111 0b100000 0b1110111 0b1101111 0b1110010 0b1101100 0b1100100'
    
    1
    >>> ' '.join(map(bin,bytearray(st,'utf8')))
    '0b1101000 0b1100101 0b1101100 0b1101100 0b1101111 0b100000 0b1110111 0b1101111 0b1110010 0b1101100 0b1100100'
    
    8
    >>> ' '.join(map(bin,bytearray(st)))
    '0b1101000 0b1100101 0b1101100 0b1101100 0b1101111 0b100000 0b1110111 0b1101111 0b1110010 0b1101100 0b1100100'
    
    3
    >>> ' '.join(map(bin,bytearray(st)))
    '0b1101000 0b1100101 0b1101100 0b1101100 0b1101111 0b100000 0b1110111 0b1101111 0b1110010 0b1101100 0b1100100'
    
    4
    >>> import binascii
    >>> bin(int(binascii.hexlify(st),16))
    '0b110100001100101011011000110110001101111001000000111011101101111011100100110110001100100'
    
    1

    Đầu ra:

    The original string is : GeeksforGeeks
    The string after binary conversion : 01000111011001010110010101101011011100110110011001101111011100100100011101100101011001010110101101110011