Hướng dẫn how do you create a hex string in python? - làm thế nào để bạn tạo một chuỗi hex trong 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 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.

Bạn có thể chuyển đổi chuỗi thành hex trong python không?

Sử dụng hàm int (): Sử dụng int (chuỗi, cơ sở = 16), chúng ta có thể chuyển đổi chuỗi thành một số nguyên với cơ sở 16 (hexadecimal).Khi chúng ta có số nguyên, chúng ta có thể sử dụng hàm hex () sẵn có để chuyển đổi số nguyên thành số thập lục phân.use the inbuilt hex() function to convert an integer to a Hexadecimal number.

Chuỗi Hex Python là gì?

Hàm python hex () 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 in hex trong python?

Python: hàm hex ()..
Phiên bản: ... .
Cú pháp: Hex (x).
Tham số: ... .
Ví dụ: Python hex () hàm số = 127 in (số, 'bằng hex =', hex (số)) số = 0 in (số, 'bằng hex =', hex (số)) số = -35 in (số.