42 Show Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm. Tôi đang làm việc với Python3.2. Tôi cần lấy một luồng hex làm đầu vào và phân tích nó ở cấp độ bit. Vì vậy, tôi đã sử dụng 8Để chuyển đổi chuỗi thành byte thực tế. Bây giờ làm cách nào để chuyển đổi các byte này thành bit?
Hỏi ngày 11 tháng 1 năm 2012 lúc 7:23Jan 11, 2012 at 7:23
3 Một cách khác để làm điều này là bằng cách sử dụng mô -đun 9:
Và nếu bạn cần loại bỏ 0 hàng đầu:
Mô -đun 9 không phải là một yêu cầu, như câu trả lời của Jcollado cho thấy, nhưng nó có rất nhiều phương pháp hiệu suất để biến đầu vào thành bit và thao tác chúng. Bạn có thể tìm thấy điều này tiện dụng này (hoặc không), ví dụ:jcollado's
answer shows, but it has lots of performant methods for turning input into bits and manipulating them. You might find this handy (or not), for example:
etc.
EPOC 6.9988 Huy hiệu vàng60 Huy hiệu bạc65 Huy hiệu Đồng8 gold badges60 silver badges65 bronze badges Đã trả lời ngày 11 tháng 1 năm 2012 lúc 8:06Jan 11, 2012 at 8:06
Alex Reynoldsalex ReynoldAlex Reynolds 95K53 Huy hiệu vàng235 Huy hiệu bạc341 Huy hiệu Đồng53 gold badges235 silver badges341 bronze badges 1 Còn một cái gì đó như thế này thì sao?
Điều này sẽ chuyển đổi chuỗi thập lục phân mà bạn có thành một số nguyên và số nguyên đó thành một chuỗi trong đó mỗi byte được đặt thành 0/1 tùy thuộc vào giá trị bit của số nguyên. Như đã chỉ ra bằng một bình luận, nếu bạn cần thoát khỏi tiền tố 0, bạn có thể làm theo cách này:
Hoặc theo cách này:
wjandrea 24.9k8 Huy hiệu vàng53 Huy hiệu bạc73 Huy hiệu đồng8 gold badges53 silver badges73 bronze badges Đã trả lời ngày 11 tháng 1 năm 2012 lúc 7:31Jan 11, 2012 at 7:31
Jcolladojcolladojcollado 38.3k8 Huy hiệu vàng102 Huy hiệu bạc133 Huy hiệu đồng8 gold badges102 silver badges133 bronze badges 4 Hoạt động nhanh hơn nhiều khi bạn làm việc ở cấp số nguyên. Cụ thể, chuyển đổi thành một chuỗi như đề xuất ở đây thực sự chậm. Nếu bạn chỉ muốn bit 7 và 8, hãy sử dụng ví dụ:
. Chúng có thể dễ dàng được dịch thành các hoạt động CPU đơn giản là siêu nhanh. Đã trả lời ngày 11 tháng 1 năm 2012 lúc 8:04Jan 11, 2012 at 8:04
0 Sử dụng cú pháp chuỗi định dạng Python
Dòng thứ hai là nơi phép thuật xảy ra. Tất cả các đối tượng byte có hàm 4, trả về chuỗi hex. Sử dụng chuỗi hex này, chúng tôi chuyển đổi nó thành một số nguyên, nói với hàm 5 rằng đó là chuỗi 16 cơ sở (vì Hex là cơ sở 16). Sau đó, chúng tôi áp dụng định dạng cho số nguyên đó để nó hiển thị dưới dạng chuỗi nhị phân. 6 là nơi ma thuật thực sự xảy ra. Nó đang sử dụng đặc tả định dạng ngôn ngữ mini 7. Cụ thể, nó sử dụng các phần 8 và ____29 của cú pháp định dạng_spec. 0 đặt 8 thành 8, đó là cách chúng tôi nhận được phần đệm 0000 đẹp và 2 đặt loại thành nhị phân.Tôi thích phương pháp này hơn phương thức 3 vì sử dụng chuỗi định dạng mang lại sự linh hoạt hơn rất nhiều.Đã trả lời ngày 14 tháng 7 năm 2018 lúc 1:17Jul 14, 2018 at 1:17
ZencodrzencodrZenCodr 1.1268 huy hiệu bạc12 Huy hiệu đồng8 silver badges12 bronze badges 1 Tôi nghĩ rằng đơn giản nhất sẽ được sử dụng 4 ở đây. Ví dụ: bạn có thể đọc một tệp dưới dạng byte và sau đó mở rộng nó thành các bit dễ dàng như sau:
Đã trả lời ngày 10 tháng 5 năm 2015 lúc 23:27May 10, 2015 at 23:27
Mikhail vmikhail vMikhail V 1.37513 Huy hiệu bạc23 Huy hiệu đồng13 silver badges23 bronze badges 0 Đây là cách thực hiện nó bằng cách sử dụng 5
Đã trả lời ngày 26 tháng 9 năm 2017 lúc 13:13Sep 26, 2017 at 13:13
JonialejonialeJoniale 4664 Huy hiệu bạc15 Huy hiệu Đồng4 silver badges15 bronze badges 0 0Sẽ cho: 1Đã trả lời ngày 13 tháng 12 năm 2020 lúc 10:52Dec 13, 2020 at 10:52
AjpajpAJP 24.9K20 Huy hiệu vàng83 Huy hiệu bạc119 Huy hiệu đồng20 gold badges83 silver badges119 bronze badges Đến nhị phân: 2Đã trả lời ngày 11 tháng 1 năm 2012 lúc 8:20Jan 11, 2012 at 8:20
FerguzzferguzzFerguzz 5.5075 Huy hiệu vàng31 Huy hiệu bạc41 Huy hiệu Đồng5 gold badges31 silver badges41 bronze badges 1 Sử dụng 6 Khi đọc BYTES đọc: 3Hoặc Sử dụng 7: 4Đã trả lời ngày 29 tháng 8 năm 2017 lúc 0:56Aug 29, 2017 at 0:56
Jacob Valentajacob ValentaJacob Valenta 6.5106 Huy hiệu vàng29 Huy hiệu bạc42 Huy hiệu Đồng6 gold badges29 silver badges42 bronze badges Các câu trả lời khác ở đây cung cấp các bit theo thứ tự lớn ( 8 trở thành 9)Trong trường hợp bạn quan tâm đến thứ tự các bit nhỏ, rất hữu ích trong nhiều trường hợp, như các đại diện chung của Bignums, v.v. - đây là một đoạn trích cho điều đó: 5Và cho hướng khác: 6Đã trả lời ngày 21 tháng 11 năm 2017 lúc 15:57Nov 21, 2017 at 15:57
Yairchuyairchuyairchu 22.6K7 Huy hiệu vàng67 Huy hiệu bạc106 Huy hiệu Đồng7 gold badges67 silver badges106 bronze badges Một chức năng một dòng để chuyển đổi byte (không phải chuỗi) thành danh sách bit. Không có vấn đề về Endnians khi nguồn từ đầu đọc/người đọc byte đến người đọc/nhà văn byte khác, chỉ khi nguồn và mục tiêu là người đọc bit và nhà văn bit. 7Đã trả lời ngày 25 tháng 3 lúc 12:32Mar 25 at 12:32
Làm cách nào để chuyển đổi chuỗi thành nhị phân trong Python?Để chuyển đổi một chuỗi thành nhị phân, trước tiên chúng tôi nối các giá trị ASCII của chuỗi thành một danh sách (l) bằng hàm ord (_string). Hàm này cho giá trị ASCII của chuỗi (tức là, ord (h) = 72, ord (e) = 101). Sau đó, từ danh sách các giá trị ASCII, chúng ta có thể chuyển đổi chúng thành nhị phân bằng bin (_integer).append the string's individual ASCII values to a list ( l ) using the ord(_string) function. This function gives the ASCII value of the string (i.e., ord(H) = 72 , ord(e) = 101). Then, from the list of ASCII values we can convert them to binary using bin(_integer) .
Làm thế nào để bạn chuyển đổi một chuỗi thành nhị phân?Ý tưởng là trước tiên để tính độ dài của chuỗi là n và sau đó chạy một vòng n lần.Trong mỗi cửa hàng lặp ASCII giá trị của ký tự trong Val biến và sau đó chuyển đổi nó thành số nhị phân và lưu trữ kết quả vào mảng cuối cùng in mảng theo thứ tự ngược lại.
Làm thế nào để bạn chuyển đổi dữ liệu thành nhị phân trong Python?Trong Python, bạn chỉ có thể sử dụng hàm bin () để chuyển đổi từ giá trị thập phân sang giá trị nhị phân tương ứng của nó.Và tương tự, hàm int () để chuyển đổi một nhị phân thành giá trị thập phân của nó.Hàm int () lấy đối số thứ hai là cơ sở của số sẽ được chuyển đổi, đó là 2 trong trường hợp số nhị phân.use the bin() function to convert from a decimal value to its corresponding binary value. And similarly, the int() function to convert a binary to its decimal value. The int() function takes as second argument the base of the number to be converted, which is 2 in case of binary numbers. |