Làm cách nào để chuyển đổi hex thành chuỗi trong python?
Trong hướng dẫn này, bạn sẽ tìm hiểu cách chuyển đổi một chuỗi thành hex trong Python và hex thành chuỗi trong Python Show Mục lục
Chuỗi thành HexCó tồn tại các phương pháp khác nhau để chuyển đổi một chuỗi thành một hex trong python Các giá trị thập lục phân có cơ số là 16 và tiền tố 0x được sử dụng để hiển thị bất kỳ chuỗi đã cho nào ở định dạng thập lục phân. Các chuỗi có thể được chuyển đổi thành định dạng thập lục phân theo một trong các cách sau Sử dụng mã hóa()Phương thức encode() là một trong những phương thức phổ biến nhất để chuyển đổi bất kỳ chuỗi nào thành định dạng hex. Trong phương thức này, đầu tiên chuỗi được chuyển đổi thành byte bằng phương thức encode(), sau đó giá trị kết quả được chuyển đổi thành định dạng hex bằng phương thức hex
đầu ra 436f6e76657274696e6720737472696e6720696e746f2068657820666f726d61742e Sử dụng phương pháp thư viện astTrong phương pháp này, thư viện ast được sử dụng để chuyển đổi một chuỗi đã cho sang định dạng hex. Thứ nhất, literal_eval được nhập từ thư viện ast. Thứ hai, một chuỗi được tạo với tiền tố 0x vì phương thức này chỉ chấp nhận các ký tự có tiền tố 0x Sau khi tạo chuỗi, nó được chuyển qua phương thức literal_eval. Phương thức này cung cấp định dạng số nguyên của chuỗi đã cho, sau đó có thể chuyển qua phương thức hex để lấy giá trị hex của chuỗi đã cho
đầu ra 0x569 Sử dụng phương thức hex()phương thức hex() thường được sử dụng để chuyển đổi giá trị chuỗi số nguyên thập lục phân thành giá trị thập lục phân. Trong phương thức này, một số nguyên thập lục phân được truyền dưới dạng tham số thông qua phương thức hex() và nó cung cấp giá trị thập lục phân của chuỗi đã cho Để phương thức này hoạt động, chuỗi đã cho phải được chuyển đổi thành giá trị số nguyên hệ thập lục phân, sau đó giá trị số nguyên phải được chuyển qua hàm hex Bất kỳ chuỗi đã cho nào cũng có thể được chuyển đổi thành giá trị số nguyên thập lục phân bằng cách chuyển nó qua phương thức int cùng với cơ sở 16 làm tham số
đầu ra 0x64533490 Đôi khi bạn sẽ gặp lỗi cú pháp và typeErrors vì phương thức hex chỉ chấp nhận giá trị số nguyên và nếu bạn chuyển một chuỗi qua nó, thì nó sẽ báo lỗi Một cách nhanh nhất khác để chuyển đổi một chuỗi thành giá trị thập lục phân là sử dụng b với phương thức hex. Trong phương thức này, “b” được đặt ở đầu chuỗi cho biết việc chuyển đổi chuỗi thành byte. Nói chung, các giá trị hex bắt đầu bằng 0x, vì vậy tiền tố “0x” có thể được đặt cùng với đầu ra để nhận giá trị thập lục phân của bất kỳ chuỗi đã cho nào
đầu ra 0x436f6e76657274696e6720737472696e6720696e746f2068657820666f726d6174 Sử dụng binasciiTrong phương pháp này, thư viện binascii được sử dụng để chuyển đổi bất kỳ chuỗi đã cho nào sang định dạng hex Đầu tiên, chúng tôi nhập mô-đun binascii. Thứ hai, chuỗi đã cho được chuyển đổi thành đối tượng byte bằng cách sử dụng b Cuối cùng, đối tượng byte được truyền qua phương thức hexlify, phương thức này cung cấp giá trị hex của chuỗi đã cho ________số 8đầu ra b'48656c6c6f' Nếu mục đích chỉ là chuyển đổi các chuỗi của bảng chữ cái thành định dạng thập lục phân, thì phương thức ord cùng với phương thức hex có thể được áp dụng để lấy giá trị hex của bất kỳ bảng chữ cái nào 436f6e76657274696e6720737472696e6720696e746f2068657820666f726d61742e0 đầu ra 436f6e76657274696e6720737472696e6720696e746f2068657820666f726d61742e1 Hex thành chuỗiCác giá trị chuỗi thập lục phân và ASCII trong python có thể hoán đổi cho nhau và các phương thức khác nhau có thể được sử dụng để chuyển đổi một giá trị hex đã cho thành một chuỗi và ngược lại Sử dụng phương thức giải mã()Trong phương pháp này, bytearray. giải mã (mã hóa, lỗi) lấy mảng byte làm đầu vào và sau đó giải mã nó bằng mã hóa được chỉ định làm đối số Để giải mã một giá trị hex, bước đầu tiên là chuyển đổi chuỗi hex thành chuỗi byte và sau đó áp dụng mảng phụ. phương pháp giải mã () Để chuyển đổi chuỗi hex thành byte, bytearray. phương thức fromhex() có thể được sử dụng 436f6e76657274696e6720737472696e6720696e746f2068657820666f726d61742e2 đầu ra 436f6e76657274696e6720737472696e6720696e746f2068657820666f726d61742e3 Sử dụng codec. phương pháp giải mã ()Trong phương pháp này, mô-đun codec được nhập để chuyển đổi các giá trị hex thành chuỗi. Phương pháp này yêu cầu một thư viện codec để chuyển đổi, chứa các lớp cơ sở để mã hóa và giải mã dữ liệu, thường được sử dụng trong các tệp dựa trên văn bản Unicode Phương thức này tương tự như phương thức decode(). Sự khác biệt duy nhất là cùng với các đối số mã hóa và lỗi, phương thức này cũng lấy các đối tượng làm đối số đầu vào Đối số error trong phương thức này dùng để xử lý các lỗi trong quá trình thực thi chương trình. các codec. phương thức decodes() trong trường hợp này trả về một đối tượng byte, sau đó được chuyển đổi thành chuỗi bằng phương thức str() 436f6e76657274696e6720737472696e6720696e746f2068657820666f726d61742e4 đầu ra 436f6e76657274696e6720737472696e6720696e746f2068657820666f726d61742e5 Bằng cách thêm hex vào một chuỗiTrong phương thức này, một giá trị hex được chuyển đổi thành một chuỗi và sau đó được kết hợp với chuỗi khác. Đó là một lớp lót hiệu quả đọc một giá trị hex duy nhất tại một thời điểm chuyển đổi nó thành một ký tự ASCII và nối nó vào cuối biến Điều này lặp lại cho đến khi quá trình chuyển đổi hoàn tất 436f6e76657274696e6720737472696e6720696e746f2068657820666f726d61742e6 đầu ra 436f6e76657274696e6720737472696e6720696e746f2068657820666f726d61742e7 Sử dụng mô-đun binasciiĐây là một trong những cách đơn giản nhất để chuyển đổi giá trị hex thành định dạng chuỗi. Trong phương thức này, phương thức unhexlify của mô-đun binascii được sử dụng để chuyển đổi giá trị hex sang định dạng chuỗi 436f6e76657274696e6720737472696e6720696e746f2068657820666f726d61742e8 đầu ra 436f6e76657274696e6720737472696e6720696e746f2068657820666f726d61742e9 Hex sang số nguyênHàm tạo int 2 có thể dùng để chuyển đổi giữa chuỗi hex và số nguyên. Hàm tạo int lấy chuỗi và cơ sở mà bạn đang chuyển đổi từ đó và sẽ cung cấp giá trị nguyên tương ứng của hex đã cho 0đầu ra 1Sự kết luậnCó nhiều cách để chuyển đổi chuỗi thành hệ thập lục phân và hệ thập lục phân thành chuỗi trong Python. Trường hợp sử dụng thực tế cho các phương thức chuyển đổi này có thể lấy mã ký tự được đọc từ tệp |