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

HexAdeCimal có cơ sở 16 và chúng ta có thể đại diện cho một chuỗi ở định dạng thập lục phân bằng tiền tố 0x.

Chúng ta có thể chuyển đổi chuỗi thành thập lục phân bằng các phương thức sau:

  1. Sử dụng phương pháp hex (n)
  2. Sử dụng phương thức mã hóa ()
  3. Sử dụng phương thức leThereral_eval ()

Phương pháp 1: Sử dụng Hex ()

Chúng ta có thể chuyển đổi chuỗi thành thập lục phân bằng phương thức hex (). Phương thức hex () chấp nhận tham số ở dạng số nguyên và trước tiên, chúng ta phải chuyển đổi chuỗi thành một số nguyên và sau đó chuyển giá trị đó sang phương thức hex () như hiển thị bên dưới:

Ví dụ: String_to_hex.py

123456789101112131415161718192021
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

# String_to_hex.py

str="245FC" = "245FC"

# chuyển str cho int () để chuyển đổi nó thành base16 int

base16int = int (str, 16)= int(str, 16)

# In chuỗi được chuyển đổi thành base16 hexadecimal int giá trị

print("value",base16INT)("value",base16INT)

print("value",type(base16INT))("value",type(base16INT))

hex_value = hex (base16int)= hex(base16INT)

print(hex_value)(hex_value)

# Chcking loại giá trị

print(type(hex_value))(type(hex_value))

Output:

1234567
2
3
4
5
6
7

Giá trị 148988148988

giá trị<class 'int'>

0x245fc

<class 'str'>

Dòng 3: Chúng tôi đã tạo một chuỗi cho bản demo.

Dòng 6: Chúng tôi chuyển chuỗi đó sang phương thức int () với cơ sở 16. Bây giờ, phương thức int () này sẽ chuyển đổi chuỗi thành giá trị số nguyên thập lục phân. We pass that string to the int () method with the base 16. Now, this int () method will convert the string to the hexadecimal integer value.

Dòng 9: Chúng tôi in giá trị mà chúng tôi nhận được sau khi chuyển đổi chuỗi thành số nguyên thập lục phân. We print the value which we get after converting the string to integer hexadecimal.

Dòng 10: Chúng tôi cũng in loại giá trị để xác nhận rằng chuỗi hiện đang ở dạng số nguyên. We also print the value type to confirm that the string is now in the form of an integer.

Dòng 12: Chúng tôi biết phương thức hex (n) được xây dựng chấp nhận giá trị số nguyên, chuyển đổi số nguyên thành chuỗi thập lục phân. Đó là lý do tại sao chúng ta cần chuyển đổi chuỗi thành một số nguyên để chuyển nó thành phương thức hex (). Chúng tôi đã chuyển giá trị cơ sở đó cho phương thức hex () và nhận được hex_value, chuỗi thập lục phân. We know the in-built hex(n) method accepts the integer value, converting the integer to the hexadecimal string. That’s why we need to convert the string to an integer to pass it into the hex () method. We passed that base16INT value to the hex() method and got the hex_value, string hexadecimal.

Dòng 13: Chúng tôi in giá trị thập lục phân chuyển đổi đó. We print that converted hexadecimal value.

Dòng 16: Chúng tôi in loại giá trị hexadecimal được chuyển đổi, hiển thị trong đầu ra, nó là một loại chuỗi. We print the type of the converted hexadecimal value, which shows in the output it is a string type.

Vì vậy, bây giờ chúng tôi đã chuyển đổi chuỗi thành một giá trị thập lục phân.

Phương pháp 2: Chuyển đổi chuỗi thành thập lục phân bằng cách sử dụng mã hóa ()

Chúng ta cũng có thể chuyển đổi chuỗi bình thường thành một chuỗi thập lục phân mà không có bất kỳ ký tự thập lục phân nào. Đối với điều đó, chúng ta phải chuyển đổi chuỗi thành BYTE bằng cách sử dụng Phương thức mã hóa (), và sau đó chúng ta có thể chuyển đổi chuỗi thành thập lục phân như hình dưới đây:

12345678910111213141516171819202122232425
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

# String_to_hex_utf8.py

& nbsp; # Chuyển đổi chuỗi thành byte# convert the string to the bytes

str='linuxhint'.encode('utf-8')= 'linuxhint'.encode('utf-8')

& nbsp; # In chuỗi được chuyển đổi thành byte# print the converted string to bytes

print(str)(str)

& nbsp; # Chuyển đổi byte chuỗi thành chuỗi thập phân# convert the string bytes to the hexadecimal string

hex_str = str.hex ()= str.hex()

& nbsp; # In loại giá trị thập lục phân được chuyển đổi# print the converted hexadecimal value type

print(type(hex_str))(type(hex_str))

Output:

123
2
3

b'linuxhint''linuxhint'

<class 'str'>

Dòng 3: Chúng tôi đã tạo một chuỗi cho bản demo. We created a string that doesn’t have any hexadecimal character. And then convert those strings to bytes using the encode () method. And then, we print those bytes, which we can see in the output line number 1.

Dòng 6: Chúng tôi chuyển chuỗi đó sang phương thức int () với cơ sở 16. Bây giờ, phương thức int () này sẽ chuyển đổi chuỗi thành giá trị số nguyên thập lục phân. We call the hex () method using the dot operator, and now the bytes are converted to the hexadecimal string value we required. To confirm the type of the result string, we just print the line number 13, and the output shows that it is in a string hexadecimal type.

Dòng 9: Chúng tôi in giá trị mà chúng tôi nhận được sau khi chuyển đổi chuỗi thành số nguyên thập lục phân.

Dòng 10: Chúng tôi cũng in loại giá trị để xác nhận rằng chuỗi hiện đang ở dạng số nguyên.

123456789101112131415161718192021222324252627282930313233
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

# String_to_hex_utf8.py

& nbsp; # Chuyển đổi chuỗi thành byte ast import literal_eval

str="0xAAA" = "0xAAA"

& nbsp; # In chuỗi được chuyển đổi thành byte# convert the string to the integer

& nbsp; # Chuyển đổi byte chuỗi thành chuỗi thập phân= literal_eval(str)

hex_str = str.hex ()# print the value and type of the convert_str

print(convert_str)(convert_str)

print("type",type(convert_str))("type", type(convert_str))

& nbsp; # In loại giá trị thập lục phân được chuyển đổi# pass the convert_str to the hex () method

Dòng 4 đến 7: Chúng tôi đã tạo ra một chuỗi không có bất kỳ ký tự thập lục phân nào. Và sau đó chuyển đổi các chuỗi đó thành byte bằng phương thức mã hóa (). Và sau đó, chúng tôi in các byte đó, mà chúng ta có thể thấy trong dòng đầu ra số 1.= hex(convert_str)

print(hex_value)(hex_value)

Dòng 10 đến 13: Chúng tôi gọi phương thức hex () bằng toán tử DOT và bây giờ các byte được chuyển đổi thành giá trị chuỗi thập lục phân mà chúng tôi yêu cầu. Để xác nhận loại của chuỗi kết quả, chúng tôi chỉ cần in dòng số 13 và đầu ra cho thấy nó thuộc loại HexAdeCimal chuỗi.# chcking the type of the value

print(type(hex_value))(type(hex_value))

Output:

1234567
2
3
4
5
6
7

2730

Phương pháp 3. Sử dụng phương thức ast.literal_eval () <class 'int'>

0xaaa

<class 'str'>

Dòng 3: Chúng tôi đã tạo một chuỗi cho bản demo. We import the method literal_eval () from the ast library. Then we create a string with the prefix 0x. Then we passed that string to the literal_eval() method and converted it to the integer. To confirm that the output is in integer form, we print it in line number 9. We also print the type of the output, which shows it is an integer.

Dòng 6: Chúng tôi chuyển chuỗi đó sang phương thức int () với cơ sở 16. Bây giờ, phương thức int () này sẽ chuyển đổi chuỗi thành giá trị số nguyên thập lục phân.We know the in-built hex(n) method that accepts the integer value, converting the integer to the hexadecimal string. That’s why we need to convert the string to an integer to pass it into the hex () method. We passed that convert_str(integer) value to the hex() method and got the hex_value, string hexadecimal. We print that converted hexadecimal value. We print the type of the converted hexadecimal value also, which shows it is a string hexadecimal type.

Ngoại lệ lỗi (TypeError):

Đôi khi chúng ta sẽ nhận được lỗi trong khi chuyển đổi chuỗi thành chuỗi thập lục phân. Lý do đằng sau đó là phương thức hex () chỉ chấp nhận giá trị số nguyên dưới dạng tham số.

1234567
2
3
4
5
6
7

String_hex = "0xff"= "0xFF"

& nbsp; hex_output = hex (string_hex)= hex(string_hex)

print(hex_output)(hex_output)

Output:

1

TypeError: 'Str'Object không thể được hiểu là một số nguyên: 'str' object cannot be interpreted as an integer

Conclusion:

Vì vậy, chúng tôi đã thấy các phương pháp khác nhau để chuyển đổi chuỗi thành chuỗi chữ thường thập phân. Phương pháp hex () rất phổ biến vì nó dễ sử dụng. Nhưng đôi khi, chúng tôi muốn chuyển đổi chuỗi mà không cần sử dụng tiền tố 0x, vì vậy trong trường hợp đó, chúng tôi có thể sử dụng phương thức Byte Encode (), như chúng tôi đã thấy trong bài viết.

Mã của bài viết này có sẵn tại liên kết GitHub dưới đây:

https://github.com/shekharpandey89/string-to-hex-conversion

Làm thế nào để bạn Hex mã hóa một chuỗi trong Python?

Hex () chức năng trong Python. Chức năng hex () là một trong những hàm tích hợp trong python3, được sử dụng để chuyển đổi số nguyên thành dạng hexadecimal tương ứng. Cú pháp: Hex (x) Tham số: X - Số nguyên (đối tượng int) Trả về: Trả về chuỗi HexAdeCimal.hex(x) Parameters : x - an integer number (int object) Returns : Returns hexadecimal string.

Làm thế nào bạn sẽ chuyển đổi một số nguyên thành chuỗi thập lục phân trong Python?

Chức năng Python hex () được sử dụng để chuyển đổi một số nguyên thành chuỗi thập lục phân chữ thường được đặt trước với số 0x 0x.Chúng ta cũng có thể chuyển một đối tượng cho hàm hex (), trong trường hợp đó, đối tượng phải có hàm __index __ () được xác định trả về số nguyên.Đối số số nguyên đầu vào có thể nằm trong bất kỳ cơ sở nào như nhị phân, bát phân, v.v. is used to convert an integer to a lowercase hexadecimal string prefixed with “0x”. We can also pass an object to hex() function, in that case the object must have __index__() function defined that returns integer. The input integer argument can be in any base such as binary, octal etc.

Hex () trong Python làm gì?

Hàm hex () chuyển đổi số được chỉ định thành giá trị thập lục phân.Chuỗi trả về luôn bắt đầu với tiền tố 0x.converts the specified number into a hexadecimal value. The returned string always starts with the prefix 0x .

Làm thế nào để bạn viết hex trong python?

Khi biểu thị số thập lục phân trong Python, tiền tố các số có '0x'.Ngoài ra, sử dụng hàm hex () để chuyển đổi các giá trị thành định dạng thập lục phân cho mục đích hiển thị.prefix the numbers with '0x'. Also, use the hex() function to convert values to hexadecimal format for display purposes.