Hướng dẫn convert string to binary python - chuyển đổi chuỗi thành python nhị phân

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.

Số nhị phân có phải là chuỗi trong Python không?

Dữ liệu nhị phân được chia thành các bộ 7 bit vì bộ nhị phân này làm đầu vào, trả về giá trị thập phân tương ứng là mã ASCII của ký tự của chuỗi. Mã ASCII này sau đó được chuyển đổi thành chuỗi bằng hàm chr ().

Lưu bài viết

  • Xem thảo luận
  • Cải thiện bài viết
  • Số nhị phân có phải là chuỗi trong Python không?

    Dữ liệu nhị phân được chia thành các bộ 7 bit vì bộ nhị phân này làm đầu vào, trả về giá trị thập phân tương ứng là mã ASCII của ký tự của chuỗi. Mã ASCII này sau đó được chuyển đổi thành chuỗi bằng hàm chr ().

    Lưu bài viết

    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.

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

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

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

    Phương pháp số 2: Sử dụng phương thức

    >>> import binascii
    >>> bin(int(binascii.hexlify(st),16))
    '0b110100001100101011011000110110001101111001000000111011101101111011100100110110001100100'
    
    2 này gần như tương tự như hàm trên. Sự khác biệt ở đây là thay vì chuyển đổi ký tự thành ASCII bằng cách sử dụng hàm ord, việc chuyển đổi tại một lần được thực hiện bởi hàm bytearray.
    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.

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

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


    Làm thế nào để bạn chuyển đổi văn bản thành nhị phân?

    Làm thế nào để chuyển đổi văn bản thành nhị phân ?..
    Nhận nhân vật ..
    Nhận mã ASCII của ký tự từ bảng ASCII ..
    Chuyển đổi thập phân sang byte nhị phân ..
    Tiếp tục với nhân vật tiếp theo ..

    Số nhị phân có phải là chuỗi trong Python không?

    Dữ liệu nhị phân được chia thành các bộ 7 bit vì bộ nhị phân này làm đầu vào, trả về giá trị thập phân tương ứng là mã ASCII của ký tự của chuỗi.Mã ASCII này sau đó được chuyển đổi thành chuỗi bằng hàm chr ().converted to string using chr() function.