Python đọc tệp hex

Hàm hex() trong Python chuyển đổi số nguyên thành số thập lục phân tương ứng ở dạng chuỗi và trả về nó. chuyển đổi số nguyên thành số thập lục phân tương ứng ở dạng chuỗi và trả về nó

Đối số nguyên đầu vào có thể ở bất kỳ cơ sở nào như nhị phân, bát phân, v. v. Python sẽ đảm nhận nhiệm vụ chuyển đổi chúng sang định dạng thập lục phân

hex(number)

Trong đó, số là một số nguyên sẽ được chuyển đổi thành giá trị thập lục phân


Hàm này chuyển đổi số thành dạng thập lục phân, và sau đó nó trả về số thập lục phân đó ở định dạng chuỗi

Xin lưu ý rằng giá trị trả về luôn bắt đầu bằng '0x' (không có dấu trích dẫn kép), điều này chứng minh rằng số đó ở dạng thập lục phân

# app.py

print("Nhập một số nguyên: ")

# Lấy input từ người dùng
num = int(input())

# Chuyển đổi số thành hệ thập lục phân
h2 = hex(num)

# In ra số trong hệ thập lục phân
print("Số ", num, " trong hệ thập lục phân là: ", h2)

# Chuyển đổi số thập phân thành thập lục phân
print("\nNhập một số thập phân: ")
num2 = float(input())

# Chuyển đổi số vừa nhập thành hệ thập lục phân
# Đối với số thập phân chúng ta sử dụng float.hex() như sau:
h2 = float.hex(num2)

# In kết quả
print("Số ", num2, " trong hệ thập lục phân là: ", h2)

Trong ví dụ trên, chúng ta đã sử dụng hàm input() trong Python để lấy đầu vào từ người dùng. function input() in Python to get input from user

We have results as after

Nhập một số nguyên:
541
Số 541  trong hệ thập lục phân là:  0x21d
    
Nhập một số thập phân:
123.54
Số 123.54  trong hệ thập lục phân là:  0x1.ee28f5c28f5c3p+6

Hàm hex() không có 0x

Chúng ta xem xét chương trình sau

# app.py

print("Nhập một số nguyên: ")

# Lấy input từ người dùng
num = int(input())

# Chuyển đổi thành số thập lục phân
h2 = hex(num)

# In số thập lục phân
# Chúng ta sử dụng cắt chuỗi
print("Số ", num, " trong hệ thập lục phân là: ", h2[2:])

# Chuyển đổi số thập phân thành thập lục phân
print("\nNhập một số thập phân: ")
num2 = float(input())

# Chuyển đổi số thập phân thành thập lục phân
h2 = float.hex(num2)

# In kết quả
print("Số ", num2, " trong hệ thập lục phân là: ", h2[2:])

Kết quả nhận được là

Nhập một số nguyên:
541
Số 541  trong hệ thập lục phân là:  21d

Nhập một số thập phân:
123.65
Số 123.65  trong hệ thập lục phân là:  1.ee9999999999ap+6

Use hex() function with object in Python

Chúng ta xem xét ví dụ sử dụng hàm hex() với đối tượng trong ví dụ sau

# app.py

class AI:
    id = 0

    def __index__(self):
        print('Hàm __index__() được gọi')
        return self.rank


stockfish = AI()
stockfish.rank = 2900

print(hex(stockfish))

Trong ví dụ trên, chúng ta đã sử dụng phương thức index() để có thể sử dụng nó với hàm hex()

Kết quả nhận được là

➜  pyt python3 app.py
Hàm __index__() được gọi
0xb54
➜  pyt

Use hex() function with object in Python

Chúng ta xem xét ví dụ sử dụng hàm hex() với đối tượng trong ví dụ sau

Trong ví dụ trên, chúng ta đã sử dụng phương thức index() để có thể sử dụng nó với hàm hex()

# app.py

data = int("0xa", 16)
print(data)

Cách chuyển chuỗi hex thành int trong Python

Nếu không có tiền tố 0x, bạn cần xác định rõ cơ sở. If not, it does not doing


Xem xét ví dụ sau

________số 8

Với tiền tố 0x, Python có thể tự động phân biệt hex và thập phân

➜  pyt python3 app.py
65535
65535
➜  pyt

Bạn phải chỉ định 0 làm cơ sở để gọi hành động suy đoán tiền tố này, bỏ qua tham số thứ hai có nghĩa là giả sử dụng cơ sở - 10. )

Nếu bạn muốn chuyển đổi chuỗi thành int, hãy chuyển chuỗi sang int cùng với cơ sở bạn đang chuyển đổi từ đó. Cả hai chuỗi sẽ đủ để chuyển đổi theo cách này

Kết quả. là một ngôn ngữ dễ học nhất trong các ngôn ngữ, nó càng phổ biến hơn khi nắm giữ thế chủ đạo trong các lĩnh vực AI, Học máy, Khoa học dữ liệu. Nếu bạn muốn tham gia lĩnh vực này thì hãy đăng ký Học Python ngay hôm nay thôi

Trong ví dụ trên, chúng ta đã sử dụng phương thức int() trong Python

Lời kết


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

Nội dung chính Hiển thị Hiển thị

  • Phương pháp 1. Use Hex()
  • Ví dụ. String_to_hex. py
  • Dòng 3. Chúng tôi đã tạo một chuỗi cho bản demo
  • Phương pháp 2. Chuyển chuỗi thành thập lục phân bằng cách sử dụng mã hóa ()
  • Dòng 9. We me in the value that we got been after khi chuyển đổi chuỗi thành số nguyên thập lục phân
  • Lỗi ngoại lệ (TypeError)
  • Phần kết luận
  • Làm thế nào để bạn viết hex trong python?
  • You could convert string to hex in python not?
  • Chuỗi Hex Python là gì?
  • Làm thế nào để bạn trong hex trong python?

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. Use hex method (n)
  2. Sử dụng phương thức mã hóa ()
  3. Use method leThereral_eval()

Phương pháp 1. Use Hex()

Ví dụ. String_to_hex. py

Ví dụ. String_to_hex. py

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

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

str="245FC"="245FC" = "245FC"

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

Dòng 9. We me in the value that we got been after khi chuyển đổi chuỗi thành số nguyên thập lục phân. = int(str, 16)

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

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

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

Bạn có thể chuyển chuỗi thành hex trong python không? = hex(base16INT)

print(hex_value)(hex_value)( hex_value )

Chuỗi Hex Python là gì?

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

đầu ra

1234567234567
2
3
4
5
6
7

Làm thế nào để bạn ở dạng hex trong python? 148988

The ta can't convert string to thập lục phân bằng các phương thức sau. <lớp 'int'>

0x245fc

Sử dụng phương pháp hex (n)lớp 'str'>

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

Phương pháp 2. Chuyển chuỗi thành thập lục phân bằng cách sử dụng mã hóa () Chúng ta 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

Dòng 9. We me in the value that we got been after khi chuyển đổi chuỗi thành số nguyên thập lục phân. 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

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

You could convert string to hex in python not? . Đó là lý do tại sao chúng ta cần chuyển chuỗi thành số nguyên để truyền vào phương thức hex(). Chúng tôi đã chuyển giá trị INT cơ sở 16 đó cho phương thức hex() và nhận giá trị hex, chuỗi thập lục phân

Dòng 13. Chúng tôi trong các phân tích giá trị thập lục phân chuyển đổi đó. Chúng tôi in giá trị thập lục phân đã chuyển đổi đó. Chúng tôi in giá trị thập lục phân đã chuyển đổi đó

Dòng 16. We we in the hexadecimal type has been convert, display in the first time, it is a type string. Chúng tôi in loại giá trị thập lục phân đã chuyển đổi, hiển thị ở đầu ra, nó là một loại chuỗi. Chúng tôi in loại giá trị thập lục phân đã chuyển đổi, hiển thị ở đầu ra, nó là một loại chuỗi

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

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

# Chuỗi_to_hex_utf8. py

& nbsp; # convert the string to the bytes

str='linuxhint'. mã hóa('utf-8')='linuxhint'. encode('utf-8')= 'linuxhint' . mã hóa('utf-8')

& nbsp; # print the converted string to bytes

print(str)(str)(str)

& nbsp; # convert the string bytes to the hexadecimal string

hex_str = str. hex()=chuỗi. hex() = str . hex()

& nbsp; # print the converted hexadecimal value type

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

đầu ra

12323
2
3

b'linuxhint''linuxhint' 'linuxhint'

<lớp 'str'>

Dòng 3. Chúng tôi đã tạo một chuỗi cho bản demo. Chúng tôi đã tạo 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 encode(). Và sau đó, chúng tôi in các byte đó, mà chúng tôi có thể thấy trong dòng đầu ra số 1. Chúng tôi đã tạo 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 encode(). Và sau đó, chúng tôi in các byte đó, mà chúng tôi có thể thấy trong dòng đầu ra số 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 phân. Chúng tôi gọi phương thức hex() bằng cách sử dụng toán tử dấu chấm 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 chuỗi kết quả, chúng tôi chỉ cần in dòng số 13 và đầu ra cho thấy nó ở dạng chuỗi thập lục phân. Chúng tôi gọi phương thức hex() bằng cách sử dụng toán tử dấu chấm 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 chuỗi kết quả, chúng tôi chỉ cần in dòng số 13 và đầu ra cho thấy nó ở dạng chuỗi thập lục phân

Dòng 9. We me in the value that we got been after 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 trong loại giá trị để xác nhận rằng chuỗi hiện đang ở dạng số nguyên

12345678910111213141516171819202122232425262728293031323323456789101112131415161718192021222324252627282930313233
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

# Chuỗi_to_hex_utf8. py

& nbsp; ast import literal_eval

str="0xAAA"="0xAAA" = "0xAAA"

& nbsp; # convert the string to the integer

& nbsp; = literal_eval(str)

hex_str = str. hex()=chuỗi. hex() # in giá trị và loại của convert_str

print(convert_str)(convert_str)( convert_str )

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

& nbsp; # 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 ở trong các byte đó, mà chúng tôi có thể tìm thấy trong dòng đầu ra số 1. = hex( convert_str )

print(hex_value)(hex_value)( hex_value )

Dòng 3. Chúng tôi đã tạo một chuỗi cho bản demo. Chúng tôi đã tạo 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 encode(). Và sau đó, chúng tôi in các byte đó, mà chúng tôi có thể thấy trong dòng đầu ra số 1. # kiểm tra loại giá trị

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

đầu ra

1234567234567
2
3
4
5
6
7

2730

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 phân. Chúng tôi gọi phương thức hex() bằng cách sử dụng toán tử dấu chấm 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 chuỗi kết quả, chúng tôi chỉ cần in dòng số 13 và đầu ra cho thấy nó ở dạng chuỗi thập lục phân. <lớp 'int'>

0xaaa

<lớp 'str'>

Dòng 3. Chúng tôi đã tạo một chuỗi cho bản demo. Chúng tôi đã tạo 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 encode(). Và sau đó, chúng tôi in các byte đó, mà chúng tôi có thể thấy trong dòng đầu ra số 1. Chúng ta import phương thức literal_eval() từ thư viện ast. Sau đó, chúng tôi tạo một chuỗi có tiền tố 0x. Sau đó, chúng tôi đã chuyển chuỗi đó sang phương thức literal_eval() và chuyển đổi nó thành số nguyên. Để xác nhận rằng đầu ra ở dạng số nguyên, chúng tôi in nó ở dòng số 9. Chúng tôi cũng in loại đầu ra, cho thấy nó là một số nguyên

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 phân. Chúng tôi gọi phương thức hex() bằng cách sử dụng toán tử dấu chấm 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 chuỗi kết quả, chúng tôi chỉ cần in dòng số 13 và đầu ra cho thấy nó ở dạng chuỗi thập lục phân. Chúng tôi biết phương thức hex(n) dựng sẵn 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 chuỗi thành số nguyên để truyền vào phương thức hex(). Chúng tôi đã chuyển giá trị convert_str(integer) đó cho phương thức hex() và nhận được giá trị hex_value, chuỗi thập lục phân. Chúng tôi in giá trị thập lục phân đã chuyển đổi đó. Chúng tôi cũng in loại giá trị thập lục phân đã chuyển đổi, cho thấy đó là loại thập lục phân chuỗi

Lỗi ngoại lệ (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ố

1234567234567
2
3
4
5
6
7

String_hex = "0xff"="0xFF" = "0xFF"

& nbsp; = hex(string_hex)

in(hex_output)(hex_output)( hex_output )

đầu ra

1

TypeError. 'Str'Object không thể hiểu được là một số nguyên. 'str'object không thể hiểu là số nguyên . 'str' đối tượng không thể diễn giải như an integer

Phần kết luận

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ập phân thường. 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 Mã hóa byte phương thức (), như chúng tôi đã thấy trong bài viết