Giải pháp đơn giản là
hexlist = map[''.join, zip[hexdata[::2], hexdata[1::2]]]
3:import binascii
# Open in binary mode [so you don't read two byte line endings on Windows as one byte]
# and use with statement [always do this to avoid leaked file descriptors, unflushed files]
with open['data.geno', 'rb'] as f:
# Slurp the whole file and efficiently convert it to hex all at once
hexdata = binascii.hexlify[f.read[]]
Điều này chỉ giúp bạn có một
hexlist = map[''.join, zip[hexdata[::2], hexdata[1::2]]]
4 của các giá trị hex, nhưng nó làm nó nhanh hơn nhiều so với những gì bạn đang cố gắng làm. Nếu bạn thực sự muốn một loạt các chuỗi dài 2 chuỗi cho mỗi byte, bạn có thể chuyển đổi kết quả một cách dễ dàng:hexlist = map[''.join, zip[hexdata[::2], hexdata[1::2]]]
sẽ tạo ra danh sách Len 2
hexlist = map[''.join, zip[hexdata[::2], hexdata[1::2]]]
4 tương ứng với mã hóa hex của mỗi byte. Để tránh các bản sao tạm thời của hexlist = map[''.join, zip[hexdata[::2], hexdata[1::2]]]
6, bạn có thể sử dụng một cách tiếp cận tương tự nhưng ít trực quan hơn, tránh cắt lát bằng cách sử dụng cùng một trình lặp lại hai lần với hexlist = map[''.join, zip[hexdata[::2], hexdata[1::2]]]
7:hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
Update:
Đối với những người trên Python 3.5 trở lên, các đối tượng
hexlist = map[''.join, zip[hexdata[::2], hexdata[1::2]]]
8 đã tạo ra một phương thức hexlist = map[''.join, zip[hexdata[::2], hexdata[1::2]]]
9, do đó, không có mô -đun nào được yêu cầu để chuyển đổi từ dữ liệu nhị phân thô sang HEX ASCII. Khối mã ở trên cùng có thể được đơn giản hóa thành chỉ:with open['data.geno', 'rb'] as f:
hexdata = f.read[].hex[]
- Sử dụng
0 để chuyển đổiwith open['data.geno', 'rb'] as f: hexdata = f.read[].hex[]
2 thànhhexlist = map[''.join, zip[*[iter[hexdata]]*2]]
3 trong Pythonhexlist = map[''.join, zip[*[iter[hexdata]]*2]]
- Được giới thiệu với Python 3.6, nó tương đối là phương thức mới nhất trong Python để thực hiện định dạng chuỗi. Nó có thể được sử dụng trong các phiên bản mới hơn và mới nhất của Python.
- Nó hiệu quả hơn hai đồng nghiệp khác, dấu hiệu
6 và0x2d
7, vì nó nhanh hơn và dễ hiểu hơn. Nó cũng giúp thực hiện định dạng chuỗi trong Python với tốc độ nhanh hơn hai phương pháp khác.0x2d
- Sử dụng chức năng
7 để chuyển đổihexlist = map[''.join, zip[*[iter[hexdata]]*2]]
2 thànhhexlist = map[''.join, zip[*[iter[hexdata]]*2]]
3 trong Pythonhexlist = map[''.join, zip[*[iter[hexdata]]*2]]
- Sử dụng
0 để chuyển đổiwith open['data.geno', 'rb'] as f: hexdata = f.read[].hex[]
2 thànhhexlist = map[''.join, zip[*[iter[hexdata]]*2]]
3 trong Pythonhexlist = map[''.join, zip[*[iter[hexdata]]*2]]
Được giới thiệu với Python 3.6, nó tương đối là phương thức mới nhất trong Python để thực hiện định dạng chuỗi. Nó có thể được sử dụng trong các phiên bản mới hơn và mới nhất của Python.
Sử dụng with open['data.geno', 'rb'] as f:
hexdata = f.read[].hex[]
0 để chuyển đổi hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
2 thành hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
3 trong Python
with open['data.geno', 'rb'] as f:
hexdata = f.read[].hex[]
hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
Được giới thiệu với Python 3.6, nó tương đối là phương thức mới nhất trong Python để thực hiện định dạng chuỗi. Nó có thể được sử dụng trong các phiên bản mới hơn và mới nhất của Python.
Nó hiệu quả hơn hai đồng nghiệp khác, dấu hiệu
0x2d
6 và 0x2d
7, vì nó nhanh hơn và dễ hiểu hơn. Nó cũng giúp thực hiện định dạng chuỗi trong Python với tốc độ nhanh hơn hai phương pháp khác.print["Enter the Binary Number: ", end=""]
bnum = int[input[]]
h = 0
m = 1
chk = 1
i = 0
hnum = []
while bnum!=0:
rem = bnum%10
h = h + [rem*m]
if chk%4==0:
if h=0:
print[end=hnum[i]]
i = i-1
print[]
Mã trên cung cấp đầu ra sau.
Enter the Binary Number: 0101101
Equivalent Hexadecimal Value = 2D
Được giới thiệu với Python 3.6, nó tương đối là phương thức mới nhất trong Python để thực hiện định dạng chuỗi. Nó có thể được sử dụng trong các phiên bản mới hơn và mới nhất của Python.
Nó hiệu quả hơn hai đồng nghiệp khác, dấu hiệu
0x2d
6 và 0x2d
7, vì nó nhanh hơn và dễ hiểu hơn. Nó cũng giúp thực hiện định dạng chuỗi trong Python với tốc độ nhanh hơn hai phương pháp khác.Mã sau sử dụng
with open['data.geno', 'rb'] as f:
hexdata = f.read[].hex[]
0 để chuyển đổi hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
2 thành hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
3 trong Python.Tạo và sử dụng chức năng do người dùng xác định để chuyển đổi nhị phân thành hex trong python
print[hex[int['0101101', 2]]]
Mã trên cung cấp đầu ra sau.
0x2d
Nó hiệu quả hơn hai đồng nghiệp khác, dấu hiệu 0x2d
6 và 0x2d
7, vì nó nhanh hơn và dễ hiểu hơn. Nó cũng giúp thực hiện định dạng chuỗi trong Python với tốc độ nhanh hơn hai phương pháp khác.
0x2d
0x2d
Mã sau sử dụng
with open['data.geno', 'rb'] as f:
hexdata = f.read[].hex[]
0 để chuyển đổi hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
2 thành hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
3 trong Python.Tạo và sử dụng chức năng do người dùng xác định để chuyển đổi nhị phân thành hex trong python
Mã sau sử dụng mô -đun
hexlist = map[''.join, zip[hexdata[::2], hexdata[1::2]]]
3 để chuyển đổi hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
2 thành hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
3 trong Python.import binascii
bFile = open['ANYBINFILE.exe','rb']
bData = bFile.read[8]
print[binascii.hexlify[bData]]
Sử dụng chức năng hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
7 để chuyển đổi hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
2 thành hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
3 trong Python
hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
Hàm
hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
7 là một trong những cách mà định dạng chuỗi có thể được thực hiện trong Python. Hàm hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
7 được sử dụng để cung cấp chuỗi được định dạng bên trong dấu ngoặc xoăn print[hex[int['0101101', 2]]]
9.Mã sau sử dụng hàm
hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
7 để chuyển đổi hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
2 thành hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
3 trong Python.print["{0:0>4X}".format[int["0101101", 2]]]
Mã trên cung cấp đầu ra sau.
hexlist = map[''.join, zip[hexdata[::2], hexdata[1::2]]]
0Sử dụng with open['data.geno', 'rb'] as f:
hexdata = f.read[].hex[]
0 để chuyển đổi hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
2 thành hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
3 trong Python
with open['data.geno', 'rb'] as f:
hexdata = f.read[].hex[]
hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
Được giới thiệu với Python 3.6, nó tương đối là phương thức mới nhất trong Python để thực hiện định dạng chuỗi. Nó có thể được sử dụng trong các phiên bản mới hơn và mới nhất của Python.
Nó hiệu quả hơn hai đồng nghiệp khác, dấu hiệu
0x2d
6 và 0x2d
7, vì nó nhanh hơn và dễ hiểu hơn. Nó cũng giúp thực hiện định dạng chuỗi trong Python với tốc độ nhanh hơn hai phương pháp khác.Mã sau sử dụng
with open['data.geno', 'rb'] as f:
hexdata = f.read[].hex[]
0 để chuyển đổi hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
2 thành hexlist = map[''.join, zip[*[iter[hexdata]]*2]]
3 trong Python.hexlist = map[''.join, zip[hexdata[::2], hexdata[1::2]]]
1Mã trên cung cấp đầu ra sau.
hexlist = map[''.join, zip[hexdata[::2], hexdata[1::2]]]
2