Chuyển đổi chuỗi hex thành hex python

Hàm hex[] có thể được sử dụng để chuyển đổi một chuỗi thành giá trị thập lục phân. Trước khi sử dụng hàm, giá trị phải được chuyển đổi thành byte

1

2

s = 'xin chào'. mã hóa['utf-8']

in[s. hex[]]

Giá trị được trả về dưới dạng chuỗi đại diện cho giá trị thập lục phân

68656c6c6f

Chia các giá trị này thành các số hex

0x68 0x65 0x6c 0x6c 0x6f

Bạn có thể thấy, các giá trị này được tính như thế nào

HexDecOperationASCII0x681046*16^1 + 8*16^0 = 6*16 + 8 * 1 = 104h0x651016*16^1 + 5*16^0 = 6*16 + 5 * 1 = 101e0x6c1086*16^1 + 12*16^

Giải mã giá trị trở lại một chuỗi

Nếu bạn muốn giải mã chuỗi hex này thành một chuỗi, bạn có thể sử dụng đoạn mã sau hoặc đọc hướng dẫn này

Chúng tôi có hai phương pháp để chuyển đổi chuỗi python thành giá trị Hex. Sử dụng hàm int[] và bằng cách nhập literal_eval từ mô-đun ast Python. Trong bài đăng này, chúng ta sẽ tìm hiểu cách chuyển đổi một chuỗi thành số thập lục phân. Nếu bạn chưa quen với Python, bạn có thể xem hướng dẫn của chúng tôi về cách chuyển đổi chuỗi thành danh sách trong Python 3

Sử dụng hàm int[]

Sử dụng int[string, base=16] , chúng ta có thể chuyển đổi chuỗi thành một số nguyên với cơ số 16 [Hệ thập lục phân]. 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 một số nguyên thành số thập lục phân. Vì vậy, khi chúng tôi nhận được một chuỗi, ban đầu chúng tôi sẽ chuyển đổi chuỗi thành một số nguyên. Sau đó, chúng tôi sẽ chuyển đổi giá trị số nguyên sang hệ thập lục phân bằng cách sử dụng hàm hex[]. Hãy để chúng tôi xem nó trong hành động

Mã số

def get_hex[value]:
    convert_string = int[value, base=16]
    convert_hex = hex[convert_string]
    return convert_hex, convert_string
userstring = "0XABC"
convert_hex, convert_string = get_hex[userstring]
print["String to Integer:",convert_string]
print["Integer to Hex:",convert_hex]

đầu ra

String to Integer: 2748
Integer to Hex: 0xabc

sử dụng ast. hàm literal_eval[]

Sử dụng literal_eval từ thư viện ast, chúng ta có thể dễ dàng lấy chuỗi và chuyển nó thành số nguyên. Sau đó, chúng ta có thể sử dụng hàm hex[] để lấy giá trị Hệ thập lục phân. Tất cả những gì chúng ta phải làm là nhập hàm literal_eval từ ast. Chúng ta hãy xem xét một ví dụ

Để chuyển đổi một chuỗi thập lục phân thành một số nguyên, hãy chuyển chuỗi đó làm đối số đầu tiên vào hàm

0x0   -->   0
0x4   -->   4
0x8   -->   8
0x12   -->   18
0x16   -->   22
0x20   -->   32
0x24   -->   36
0x28   -->   40
1 tích hợp của Python. Sử dụng
0x0   -->   0
0x4   -->   4
0x8   -->   8
0x12   -->   18
0x16   -->   22
0x20   -->   32
0x24   -->   36
0x28   -->   40
2 làm đối số thứ hai của hàm
0x0   -->   0
0x4   -->   4
0x8   -->   8
0x12   -->   18
0x16   -->   22
0x20   -->   32
0x24   -->   36
0x28   -->   40
1 để xác định rằng chuỗi đã cho là một số hex. Hàm
0x0   -->   0
0x4   -->   4
0x8   -->   8
0x12   -->   18
0x16   -->   22
0x20   -->   32
0x24   -->   36
0x28   -->   40
1 sau đó sẽ chuyển đổi chuỗi hex thành số nguyên có cơ số 10 và trả về kết quả

Đây là một ví dụ tối thiểu

________số 8_______

ví dụ

Và đây là cách bạn có thể chuyển đổi các ví dụ bổ sung được hiển thị ở trên

>>> int['0x0', base=16]
0
>>> int['0x4', base=16]
4
>>> int['0x8', base=16]
8
>>> int['0x12', base=16]
18
>>> int['0x16', base=16]
22
>>> int['0x20', base=16]
32
>>> int['0x24', base=16]
36
>>> int['0x28', base=16]
40

Bạn thực sự không cần sử dụng tiền tố

0x0   -->   0
0x4   -->   4
0x8   -->   8
0x12   -->   18
0x16   -->   22
0x20   -->   32
0x24   -->   36
0x28   -->   40
5 vì đối số thứ hai của bạn đã xác định rõ ràng rằng chuỗi đã cho là một số thập lục phân

>>> int['0', base=16]
0
>>> int['4', base=16]
4
>>> int['8', base=16]
8
>>> int['12', base=16]
18
>>> int['16', base=16]
22
>>> int['20', base=16]
32
>>> int['24', base=16]
36
>>> int['28', base=16]
40

Tuy nhiên, bỏ qua cơ sở nhưng để lại tiền tố làm tăng

0x0   -->   0
0x4   -->   4
0x8   -->   8
0x12   -->   18
0x16   -->   22
0x20   -->   32
0x24   -->   36
0x28   -->   40
6

>>> int['0x28']
Traceback [most recent call last]:
  File "", line 1, in 
    int['0x28']
ValueError: invalid literal for int[] with base 10: '0x28'

Nó giả định rằng chuỗi đầu vào ở cơ số 10 trong khi thực tế không phải vậy

💡 Lưu ý. Mặc dù việc chuyển một chuỗi có tiền tố

0x0   -->   0
0x4   -->   4
0x8   -->   8
0x12   -->   18
0x16   -->   22
0x20   -->   32
0x24   -->   36
0x28   -->   40
7 vào hàm
0x0   -->   0
0x4   -->   4
0x8   -->   8
0x12   -->   18
0x16   -->   22
0x20   -->   32
0x24   -->   36
0x28   -->   40
1 là rõ ràng, nhưng hàm
0x0   -->   0
0x4   -->   4
0x8   -->   8
0x12   -->   18
0x16   -->   22
0x20   -->   32
0x24   -->   36
0x28   -->   40
1 của Python không chấp nhận nó nếu bạn cũng không xác định cơ số. Điều này có thể được khắc phục trong các phiên bản sau

Trên thực tế, bạn có thể chỉ định đối số cơ sở là 0 để bật tính năng đoán cơ sở—dù sao đó cũng phải là hành vi mặc định

Đoán cơ sở

Bạn có thể chuyển một chuỗi có tiền tố

0x0   -->   0
0x4   -->   4
0x8   -->   8
0x12   -->   18
0x16   -->   22
0x20   -->   32
0x24   -->   36
0x28   -->   40
7 vào hàm
0x0   -->   0
0x4   -->   4
0x8   -->   8
0x12   -->   18
0x16   -->   22
0x20   -->   32
0x24   -->   36
0x28   -->   40
1 và đặt cơ sở thành 0 để bật tính năng đoán cơ sở trong Python. Điều này sử dụng tiền tố để xác định cơ số một cách tự động—mà bạn không cần phải đặt nó thành
>>> int['0xff', base=16]
255
2. Tuy nhiên, bạn vẫn phải đặt nó thành
>>> int['0xff', base=16]
255
3 để lợi ích là không đáng kể trong thực tế

>>> int['0x9', base=16]
9
>>> int['0x9', base=0]
9
>>> int['0x9', 0]
9

Chuyển đổi chữ Hex thành Int

Nếu bạn không có chuỗi hex mà là số hex—được gọi là ký tự—chẳng hạn như

>>> int['0xff', base=16]
255
4, bạn thậm chí không cần hàm
0x0   -->   0
0x4   -->   4
0x8   -->   8
0x12   -->   18
0x16   -->   22
0x20   -->   32
0x24   -->   36
0x28   -->   40
1 vì Python sẽ tự động chuyển đổi nó thành số thập phân

>>> 0x10
16
>>> 0xff
255

Nền int[]

Syntax: int[value [, base]]    -->   int
Đối số
>>> int['0xff', base=16]
255
6Một đối tượng Python được chuyển đổi thành một số nguyên. Đối tượng giá trị phải có một phương thức
>>> int['0xff', base=16]
255
7 trả về số nguyên được liên kết—nếu không, một
>>> int['0xff', base=16]
255
8 sẽ được nâng lên.
>>> int['0xff', base=16]
255
9Một đối số số nguyên tùy chọn
>>> int['0xff', base=16]
255
9 để xác định cơ sở của hệ thống số trong đối số
>>> int['0xff', base=16]
255
6. Nếu bạn đặt cơ sở, đối số
>>> int['0xff', base=16]
255
6 phải là một chuỗi. Đối số
>>> int['0xff', base=16]
255
9 xác định cách diễn giải đối số chuỗi. Giá trị trả về_______9_______4Trả về một số nguyên sau khi chuyển đổi đối số đầu vào
>>> int['0xff', base=16]
255
6 bằng cách sử dụng phương thức
>>> int['0xff', base=16]
255
7 cần thiết cho quá trình chuyển đổi

Hàm int[] trong Python


Xem video này trên YouTube

Bạn vẫn cần thêm thông tin cơ bản về hàm

0x0   -->   0
0x4   -->   4
0x8   -->   8
0x12   -->   18
0x16   -->   22
0x20   -->   32
0x24   -->   36
0x28   -->   40
1 tích hợp sẵn của Python chứ?

Hướng dẫn liên quan. Chức năng

0x0   -->   0
0x4   -->   4
0x8   -->   8
0x12   -->   18
0x16   -->   22
0x20   -->   32
0x24   -->   36
0x28   -->   40
1 tích hợp sẵn của Python

Bảng Hex sang Int

Để giải trí, đây là phép chuyển đổi từ hex sang int của lũy thừa hai

Hexadecimal LiteralDecimal Literal1122448810hex16dec20hex32dec40hex64dec80hex128dec100hex256dec200hex512dec400hex1024dec800hex2048dec1000hex4096dec2000hex8192dec4000hex16,384dec8000hex32,768dec10000hex65,536dec

👉 Hướng dẫn đề xuất. Chuyển đổi chuỗi Hex thành byte

Nếu bạn muốn tìm hiểu cách chuyển đổi không chỉ một mà nhiều số nguyên thành một chuỗi hex duy nhất, hãy xem hướng dẫn chuyên sâu của chúng tôi trên blog Finxter

Chris

Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính

Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners [NoStarch 2020], đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới

Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây

Làm cách nào để chuyển đổi chuỗi thành hex?

Chuỗi sang hệ thập lục phân .
Nhận chuỗi mong muốn
Tạo một đối tượng StringBuffer rỗng
Chuyển đổi nó thành một mảng ký tự bằng phương thức toCharArray[] của lớp String
Duyệt qua nội dung của mảng được tạo ở trên, sử dụng một vòng lặp

%02x trong Python là gì?

Số 02x cho Python biết rằng chúng tôi muốn số được biểu thị dưới dạng số thập lục phân có 2 chữ số , trong đó mọi chữ số bị thiếu được đệm bằng số 0.

Sự khác biệt giữa chuỗi hex và số hex là gì?

Lại. Số hex thành chuỗi hex . Do đó, đầu ra sẽ là một chuỗi có 2 ký tự. "E" và "8". Type Cast cung cấp cho bạn một chuỗi gồm một ký tự, trong đó giá trị ASCII là E8 [232 thập phân]. the Number to Hexadecimal String function gives you letters for each hex value. Thus the output would be a string to 2 characters: "E" and "8". The Type Cast give you a string of one character, where the ASCII value is E8 [232 decimal].

Chủ Đề