logo

Kako pretvoriti šestnajstiško v binarno v pythonu?

The 'hex' je okrajšava za Šestnajstiško . Gre za sistem številčenja, ki uporablja 16 kot svojo osnovo. Običajno se uporablja v računalništvu in digitalni elektroniki, ker lahko predstavlja a bajt (8 bitov) podatkov s samo dvema števkama, zaradi česar je bolj jedrnat in lažji za branje kot binarno. V šestnajstiškem sistemu so števke 0-9 predstavljajo svoje vrednosti, medtem ko črke A-F (ali a-f) predstavljajo vrednote 10-15 , oz.

razred java skenerja

1. način: Uporaba funkcije bin().

Pretvarjanje šestnajstiškega v binarno v Pythonu je mogoče izvesti z vgrajeno funkcijo, imenovano bin () . Ta funkcija sprejme celo število ali niz kot vhod in vrne njegov dvojiški ekvivalent.

primer:

 # Define a hexadecimal string hex_string = '1A' # Convert the hexadecimal string to an integer using the base 16 hex_integer = int(hex_string, 16) # Convert the integer to binary using the bin() function binary_string = bin(hex_integer) # Remove the '0b' prefix from the binary string binary_string = binary_string[2:] # Print the binary string print(binary_string) 

Izhod:

 11010 

2. način: Uporaba bitnih operaterjev

Python ponuja vgrajeno bitni operaterji ki se lahko uporabljajo za manipulacijo binarnih podatkov. Te operatorje lahko uporabite za pretvorbo šestnajstiškega niza v binarno tako, da najprej pretvorite niz v celo število in nato uporabite bitne operacije za ekstrahiranje binarnih števk.

primer:

Tukaj je primer izrezka kode:

 # Define a hexadecimal string hex_string = '1F' # Convert the hexadecimal string to an integer using the base 16 hex_integer = int(hex_string, 16) # Convert the integer to binary using bitwise operators binary_string = format(hex_integer, 'b') # Print the binary string print(binary_string) 

Izhod:

 11111 

Pojasnilo:

V tej kodi najprej pretvorimo šestnajstiški niz v celo število z uporabo int() funkcijo z osnovno nastavljeno na 16 . Po tem uporabimo format() funkcijo z specifikatorjem formata 'b' za pretvorbo celega števila v binarni niz. The format() funkcija vrne niz z začetnimi ničlami, kot je potrebno za predstavitev binarne vrednosti. Nazadnje natisnemo binarni niz.

3. način: Uporaba funkcije hex2bin() iz modula binascii

Pythonov binascii modul zagotavlja a hex2bin() funkcijo, ki jo je mogoče uporabiti za pretvorbo šestnajstiškega niza v dvojiški.

primer:

Tukaj je primer izrezka kode:

bash za zanko 1 do 10
 # Import the binascii module import binascii # Define a hexadecimal string hex_string = '1A' # Convert the hexadecimal string to binary using the binascii.unhexlify() function binary_string = bin(int.from_bytes(binascii.unhexlify(hex_string), byteorder='big')) # Print the binary string print(binary_string) 

Izhod:

 0b11010 

Pojasnilo:

V tej kodi najprej uvozimo binascii modul. Po tem določimo šestnajstiški niz, ki ga želimo pretvoriti. Šestnajstiški niz posredujemo binascii.unhexlify() funkcijo za pretvorbo v objekt bytes. Po tem pretvorimo bajtni objekt v celo število z uporabo int.from_bytes() funkcijo, pri čemer je vrstni red bajtov nastavljen na 'velik' (prvi najpomembnejši bajt). Nazadnje posredujemo celo število v bin () funkcijo za pridobitev binarne predstavitve niza.

Opomba: funkcija bin() vrne binarni niz s predpono '0b'. Če želite odstraniti predpono, lahko uporabite rezanje nizov.

4. način: Uporaba seznamskega razumevanja in oblikovanja nizov

Šestnajstiški niz lahko pretvorimo v dvojiški z uporabo a razumevanje seznama ki ponovi vsako šestnajstiško števko v nizu in jo pretvori v dvojiški ekvivalent z uporabo oblikovanja niza.

niz za char v Javi

primer:

 # Define a hexadecimal string hex_string = '1A' # Convert the hexadecimal string to binary using a list comprehension and string formatting binary_string = ''.join(['{0:04b}'.format(int(d, 16)) for d in hex_string]) # Print the binary string print(binary_string) 

Izhod:

 00011010 

Pojasnilo:

V tej kodi najprej definiramo šestnajstiški niz, ki ga želimo pretvoriti. Po tem uporabimo a razumevanje seznama za ponavljanje vsake šestnajstiške številke v nizu. Za vsako števko jo pretvorimo v celo število z uporabo int() funkcijo z osnovno nastavljeno na 16 in ga nato formatirajte kot dvojiški niz z 4 števke uporabljati '{0:04b}'.format() sintaksa oblikovanja nizov. Nastali binarni nizi se zberejo v seznam, ki se nato združi v en sam niz z uporabo ''.join() funkcijo.

5. način: Uporaba knjižnice NumPy

Če imate knjižnica NumPy nameščen, lahko uporabite numpy.base_repr() funkcijo za pretvorbo šestnajstiškega niza v dvojiški.

primer:

 # Import the numpy library import numpy as np # Define a hexadecimal string hex_string = '1A' # Convert the hexadecimal string to binary using the numpy.base_repr() function binary_string = np.base_repr(int(hex_string, 16), base=2) # Print the binary string print(binary_string) 

Izhod:

 11010 

Opomba: funkcija numpy.base_repr() vrne binarni niz brez predpone ali začetnih ničel, za razliko od vgrajene funkcije bin().