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

Tùy thuộc vào định dạng trong tệp văn bản, có thể dễ dàng chuyển đổi trực tiếp hơn

>>> b=bytearray['BBA7F69E'.decode['hex']]

hoặc

>>> b=bytearray['BB A7 F6 9E'.replace[' ',''].decode['hex']]
>>> b
bytearray[b'\xbb\xa7\xf6\x9e']
>>> b[0]
187
>>> hex[b[0]]
'0xbb'
>>> 

Một bytearray dễ dàng chuyển đổi thành danh sách

>>> list[b] == [0xBB, 0xA7, 0xF6, 0x9E]
True

>>> list[b]
[187, 167, 246, 158]

Nếu bạn muốn thay đổi cách hiển thị danh sách, bạn sẽ cần tạo lớp danh sách của riêng mình

>>> class MyList[list]:
...  def __repr__[self]:
...   return '['+', '.join["0x%X"%x if type[x] is int else repr[x] for x in self]+']'
... 
>>> MyList[b]
[0xBB, 0xA7, 0xF6, 0x9E]
>>> str[MyList[b]]
'[0xBB, 0xA7, 0xF6, 0x9E]'

  • Cách chuyển đổi này hoạt động
  • Sử dụng codecs.decode
  • Nối Hex vào chuỗi

Để nối một giá trị thập lục phân vào một chuỗi, trước tiên, bạn phải chuyển đổi nó và sau đó sử dụng nó để tham gia hai chuỗi này.

Đối với điều này, chúng tôi sẽ sử dụng một hàm chuyển đổi HEX thành chuỗi và trả lại nó dưới dạng chuỗi.fromhex[] function.

Đôi khi, giá trị hex có thể được đi trước bởi 0x 0x. Chức năng của chúng tôi kiểm tra xem đây có phải là trường hợp hay không và loại bỏ hai ký tự này khỏi chuỗi.

Bởi vì hàm trả về một giá trị chuỗi, nó có thể được nối với một chuỗi khác.decode[] function decodes bytearray and returns a string in utf-8 format.

hello

Đây là giá trị trả lại.

ValueError: non-hexadecimal number found in fromhex[] arg at position 0

Làm thế nào để chuyển đổi một hex thành chuỗi trong python?

print[b'hello'.hex[]]

# Bây giờ, sử dụng hàm int [] để chuyển đổi chuỗi thập lục phân sang chuỗi thập phân. Convertion = int [test_string, 16] # Cuối cùng, kết quả in. In ["Chuỗi thập phân được chuyển đổi thành chuỗi thập phân là:" + str [chuyển đổi]]]

Cách chuyển đổi này hoạt động

Sử dụng codecs.decode

0x68 0x65 0x6c 0x6c 0x6f

Đây là một hướng dẫn về cách chuyển đổi số thập lục phân thành các chuỗi trong Python. Khi làm việc với các số HEX, có thể khó đọc hoặc so sánh chúng, vì vậy việc chuyển đổi chúng thành các chuỗi sẽ làm cho quá trình dễ dàng hơn.  at the beginning means that the value should be treated as a hexadecimal value.

Cách dễ nhất để chuyển đổi giá trị thập lục phân sang chuỗi là sử dụng hàm từHex [].

print[bytes.fromhex['68656c6c6f'].decode['utf-8']]
Hàm này lấy giá trị thập lục phân làm tham số và chuyển đổi nó thành một chuỗi. Hàm giải mã [] giải mã bytearray và trả về một chuỗi ở định dạng UTF-8. Lưu ý rằng trong chuỗi chỉ có các số từ 0 đến 9 và các chữ cái từ trên A A đến F F F. Nếu bạn đặt bất kỳ chữ cái nào khác, Python sẽ trả lại lỗi: Bạn có thể nhanh chóng chuyển đổi chuỗi này trở lại Hex bằng mã này:
0x68 104 Phải có những người khác ở đầu chuỗi cho biết giá trị được chuyển đổi thành byte.*16^1 + 8*16^0 = 6*16 + 8 * 1 = 104 Nếu bạn chia chuỗi này thành các giá trị riêng lẻ, bạn sẽ nhận được:
0x65 101 0x 0x & NBSP; Lúc đầu có nghĩa là giá trị nên được coi là giá trị thập lục phân.*16^1 + 5*16^0 = 6*16 + 5 * 1 = 101 Bảng này cho thấy cách mỗi giá trị được chuyển đổi thành một chữ cái.
0x6c 108 Hex*16^1 + 12*16^0 = 6*16 + 12 * 1 = 108 Tháng mười hai
0x6c 108 Hex*16^1 + 12*16^0 = 6*16 + 12 * 1 = 108 Tháng mười hai
0x6f 111 Hoạt động*16^1 + 15*16^0 = 6*16 + 15 * 1 = 111 Ascii

Sử dụng codecs.decode

Đây là một hướng dẫn về cách chuyển đổi số thập lục phân thành các chuỗi trong Python. Khi làm việc với các số HEX, có thể khó đọc hoặc so sánh chúng, vì vậy việc chuyển đổi chúng thành các chuỗi sẽ làm cho quá trình dễ dàng hơn.codecs.decode is another method you can use to achieve the same result. It takes three arguments: the bytes object, encoding, and error [specifies how errors should be handled].

import codecs

my_string = "68656c6c6f"
my_string_bytes = bytes[my_string, encoding='utf-8']

binary_string = codecs.decode[my_string_bytes, "hex"]
print[str[binary_string, 'utf-8']]

Biến MY_STRING_BYTES chuyển đổi một chuỗi thành byte bằng UTF-8. Bây giờ, biến này có thể được truyền như là đối số đầu tiên. Đối số thứ hai là Hex Hex, vì chúng tôi muốn chuyển đổi giá trị hex thành một chuỗi.my_string_bytes variable converts a string to bytes using utf-8. Now, this variable can be passed as the first argument. The second argument is “hex” as we want to convert the hex value to a string.

Mã này trả về cùng một chuỗi như trước:

hello

Nối Hex vào chuỗi

Để nối một giá trị thập lục phân vào một chuỗi, trước tiên, bạn phải chuyển đổi nó và sau đó sử dụng nó để tham gia hai chuỗi này.

Đối với điều này, chúng tôi sẽ sử dụng một hàm chuyển đổi HEX thành chuỗi và trả lại nó dưới dạng chuỗi.

>>> b=bytearray['BB A7 F6 9E'.replace[' ',''].decode['hex']]
>>> b
bytearray[b'\xbb\xa7\xf6\x9e']
>>> b[0]
187
>>> hex[b[0]]
'0xbb'
>>> 
1

Đôi khi, giá trị hex có thể được đi trước bởi 0x 0x. Chức năng của chúng tôi kiểm tra xem đây có phải là trường hợp hay không và loại bỏ hai ký tự này khỏi chuỗi.

Bởi vì hàm trả về một giá trị chuỗi, nó có thể được nối với một chuỗi khác.

Đây là giá trị trả lại.

>>> b=bytearray['BB A7 F6 9E'.replace[' ',''].decode['hex']]
>>> b
bytearray[b'\xbb\xa7\xf6\x9e']
>>> b[0]
187
>>> hex[b[0]]
'0xbb'
>>> 
2

Làm thế nào để chuyển đổi một hex thành chuỗi trong python?

# Bây giờ, sử dụng hàm int [] để chuyển đổi chuỗi thập lục phân sang chuỗi thập phân. Convertion = int [test_string, 16] # Cuối cùng, kết quả in. In ["Chuỗi thập phân được chuyển đổi thành chuỗi thập phân là:" + str [chuyển đổi]]]use the int[] function to convert the hexadecimal string to decimal string. convertion = int[testing_string, 16] # At last, print result. print ["The converted hexadecimal string into decimal string is: " + str[convertion]]

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

Thuật toán:..
Khởi tạo chuỗi hex cuối cùng là trống ..
Hãy xem xét mọi ký tự từ đầu vào, đúc nó vào số nguyên. Giá trị số nguyên này là giá trị ASCII của ký tự đó ..
Thay đổi giá trị số nguyên này thành giá trị thập lục phân và thêm giá trị thập lục phân này vào chuỗi hex cuối cùng ..

Làm cách nào để chuyển đổi chuỗi hex thành giá trị số nguyên?

Để chuyển đổi một chuỗi thập lục phân thành một số, hãy sử dụng phương thức toint32 [chuỗi, int32] để chuyển đổi số được biểu thị trong cơ sở-16 thành số nguyên.Đối số đầu tiên của phương thức toint32 [chuỗi, int32] là chuỗi để chuyển đổi.Đối số thứ hai mô tả cơ sở số lượng được thể hiện trong;Hexadecimal là cơ sở 16.Use the ToInt32[String, Int32] method to convert the number expressed in base-16 to an integer. The first argument of the ToInt32[String, Int32] method is the string to convert. The second argument describes what base the number is expressed in; hexadecimal is base 16.

Làm thế nào để chuyển đổi chuỗi hex thành hex trong python?

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.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.Using int[string, base=16] , we can convert the string to an integer with base 16 [Hexadecimal]. Once we have the integer, we can use the inbuilt hex[] function to convert an integer to a Hexadecimal number. So when we get a string, we will initially convert the string to an integer.

Bài Viết Liên Quan

Chủ Đề