Chuyển đổi số thành python nhị phân 16 bit

Mô-đun chứa một số phương thức để chuyển đổi giữa các biểu diễn nhị phân và các biểu diễn nhị phân được mã hóa ASCII khác nhau. Thông thường, bạn sẽ không sử dụng trực tiếp các chức năng này mà sử dụng các mô-đun bao bọc như hoặc thay vào đó. Mô-đun chứa các hàm cấp thấp được viết bằng C để có tốc độ cao hơn được sử dụng bởi các mô-đun cấp cao hơn

Ghi chú

Các hàm a2b_* chấp nhận các chuỗi Unicode chỉ chứa các ký tự ASCII. Các chức năng khác chỉ chấp nhận (chẳng hạn như và các đối tượng khác hỗ trợ giao thức bộ đệm)

Đã thay đổi trong phiên bản 3. 3. Các chuỗi unicode chỉ ASCII hiện được chấp nhận bởi các hàm a2b_*.

Mô-đun xác định các chức năng sau

binascii. a2b_uu(chuỗi)

Chuyển đổi một dòng dữ liệu được mã hóa thành nhị phân và trả về dữ liệu nhị phân. Các dòng thường chứa 45 byte (nhị phân), ngoại trừ dòng cuối cùng. Dữ liệu dòng có thể được theo sau bởi khoảng trắng

binascii. b2a_uu(dữ liệu , * , dấu ngược=Sai)

Chuyển đổi dữ liệu nhị phân thành một dòng ký tự ASCII, giá trị trả về là dòng đã chuyển đổi, bao gồm ký tự xuống dòng. Độ dài của dữ liệu tối đa là 45. Nếu backtick là true, số 0 được biểu thị bằng

>>> import binascii
>>> binascii.b2a_hex(b'\xb9\x01\xef')
b'b901ef'
>>> binascii.hexlify(b'\xb9\x01\xef', '-')
b'b9-01-ef'
>>> binascii.b2a_hex(b'\xb9\x01\xef', b'_', 2)
b'b9_01ef'
>>> binascii.b2a_hex(b'\xb9\x01\xef', b' ', -2)
b'b901 ef'
2 thay vì dấu cách

Đã thay đổi trong phiên bản 3. 7. Đã thêm tham số backtick.

binascii. a2b_base64(chuỗi , / , * , strict_mode=Sai)

Chuyển đổi một khối dữ liệu base64 trở lại nhị phân và trả về dữ liệu nhị phân. Nhiều hơn một dòng có thể được thông qua tại một thời điểm

Nếu chế độ nghiêm ngặt là đúng, chỉ dữ liệu base64 hợp lệ sẽ được chuyển đổi. Dữ liệu base64 không hợp lệ sẽ tăng

Cơ sở hợp lệ64
  • Phù hợp với RFC 3548

  • Chỉ chứa các ký tự từ bảng chữ cái base64

  • Không chứa dữ liệu dư thừa sau khi đệm (bao gồm phần đệm thừa, dòng mới, v.v. )

  • Không bắt đầu bằng phần đệm

Đã thay đổi trong phiên bản 3. 11. Đã thêm thông số chế độ nghiêm ngặt.

binascii. b2a_base64(dữ liệu , * , dòng mới=Đúng)

Chuyển đổi dữ liệu nhị phân thành một dòng ký tự ASCII trong mã hóa base64. Giá trị trả về là dòng đã chuyển đổi, bao gồm ký tự xuống dòng nếu dòng mới là true. Đầu ra của chức năng này tuân theo RFC 3548

Đã thay đổi trong phiên bản 3. 6. Đã thêm tham số dòng mới.

binascii. a2b_qp(dữ liệu , tiêu đề=Sai)

Chuyển đổi một khối dữ liệu có thể in được trích dẫn trở lại thành nhị phân và trả về dữ liệu nhị phân. Nhiều hơn một dòng có thể được thông qua tại một thời điểm. Nếu tiêu đề đối số tùy chọn có mặt và đúng, dấu gạch dưới sẽ được giải mã dưới dạng khoảng trắng

binascii. b2a_qp(dữ liệu , tab trích dẫn=Sai , istext=True , tiêu đề=Sai)

Chuyển đổi dữ liệu nhị phân thành (các) dòng ký tự ASCII trong mã hóa có thể in được trích dẫn. Giá trị trả về là (các) dòng đã chuyển đổi. Nếu đối số tùy chọn quotetabs hiện diện và đúng, thì tất cả các tab và khoảng trắng sẽ được mã hóa. Nếu đối số tùy chọn istext có mặt và đúng, các dòng mới không được mã hóa nhưng khoảng trắng ở cuối sẽ được mã hóa. Nếu tiêu đề đối số tùy chọn có mặt và đúng, khoảng trắng sẽ được mã hóa dưới dạng dấu gạch dưới theo RFC 1522. Nếu tiêu đề đối số tùy chọn xuất hiện và sai, các ký tự dòng mới cũng sẽ được mã hóa;

binascii. crc_hqx(dữ liệu , giá trị)

Tính toán giá trị CRC 16 bit của dữ liệu, bắt đầu với giá trị là CRC ban đầu và trả về kết quả. Điều này sử dụng đa thức CRC-CCITT x16 + x12 + x5 + 1, thường được biểu thị là 0x1021. CRC này được sử dụng ở định dạng binhex4

binascii. crc32(dữ liệu[ , giá trị])

Tính toán CRC-32, tổng kiểm tra dữ liệu 32 bit không dấu, bắt đầu bằng giá trị CRC ban đầu. CRC ban đầu mặc định bằng không. Thuật toán phù hợp với tổng kiểm tra tệp ZIP. Vì thuật toán được thiết kế để sử dụng làm thuật toán tổng kiểm tra, nên nó không phù hợp để sử dụng làm thuật toán băm chung. Sử dụng như sau

print(binascii.crc32(b"hello world"))
# Or, in two pieces:
crc = binascii.crc32(b"hello")
crc = binascii.crc32(b" world", crc)
print('crc32 = {:#010x}'.format(crc))

Đã thay đổi trong phiên bản 3. 0. Kết quả luôn không dấu.

binascii. b2a_hex(dữ liệu[ , sep[ , bytes_per_sep=1]])binascii. hexlify(dữ liệu[ , sep[ , bytes_per_sep=1]])

Trả về biểu diễn thập lục phân của dữ liệu nhị phân. Mỗi byte dữ liệu được chuyển đổi thành biểu diễn hex 2 chữ số tương ứng. Do đó, đối tượng byte được trả về dài gấp đôi độ dài của dữ liệu

Chức năng tương tự (nhưng trả về một chuỗi văn bản) cũng có thể truy cập thuận tiện bằng phương thức

Nếu sep được chỉ định, nó phải là một đối tượng str hoặc byte ký tự đơn. Nó sẽ được chèn vào đầu ra sau mỗi byte đầu vào bytes_per_sep. Vị trí dấu phân cách được tính từ đầu bên phải của đầu ra theo mặc định, nếu bạn muốn tính từ bên trái, hãy cung cấp giá trị bytes_per_sep âm

>>> import binascii
>>> binascii.b2a_hex(b'\xb9\x01\xef')
b'b901ef'
>>> binascii.hexlify(b'\xb9\x01\xef', '-')
b'b9-01-ef'
>>> binascii.b2a_hex(b'\xb9\x01\xef', b'_', 2)
b'b9_01ef'
>>> binascii.b2a_hex(b'\xb9\x01\xef', b' ', -2)
b'b901 ef'

Đã thay đổi trong phiên bản 3. 8. Các tham số sep và bytes_per_sep đã được thêm vào.

binascii. a2b_hex(hexstr)binascii. unhexlify(hexstr)

Trả về dữ liệu nhị phân được biểu thị bằng chuỗi thập lục phân hexstr. Hàm này nghịch biến với. hexstr phải chứa số chẵn các chữ số thập lục phân (có thể là chữ hoa hoặc chữ thường), nếu không sẽ xảy ra ngoại lệ

Chức năng tương tự (chỉ chấp nhận các đối số chuỗi văn bản, nhưng tự do hơn đối với khoảng trắng) cũng có thể truy cập được bằng phương thức lớp

ngoại lệ binascii. Lỗi

Ngoại lệ phát sinh do lỗi. Đây thường là lỗi lập trình

ngoại lệ binascii. chưa hoàn thiện

Ngoại lệ được đưa ra trên dữ liệu không đầy đủ. Đây thường không phải là lỗi lập trình, nhưng có thể được xử lý bằng cách đọc thêm một chút dữ liệu và thử lại

bin() trong Python là gì?

Hàm Python bin() . Kết quả sẽ luôn bắt đầu bằng tiền tố 0b. returns the binary version of a specified integer. The result will always start with the prefix 0b .

Làm cách nào để chuyển đổi một số thành nhị phân trong Python mà không cần chức năng sẵn có?

Lấy số từ người dùng. Sử dụng vòng lặp while, chuyển đổi từng chữ số thành nhị phân và nối nó vào danh sách. Đảo ngược danh sách và dùng vòng lặp for in ra các phần tử của danh sách. Thoát .

Làm cách nào để chuyển đổi int thành nhị phân?

Để chuyển đổi số nguyên thành nhị phân, hãy bắt đầu với số nguyên được đề cập và chia nó cho 2, lưu ý đến thương và phần còn lại. Tiếp tục chia thương số cho 2 cho đến khi bạn nhận được một thương số bằng không. Sau đó, chỉ cần viết phần còn lại theo thứ tự ngược lại

Làm cách nào để chuyển đổi nhị phân thành thập lục phân trong Python?

Phương pháp 1. Mã do người dùng xác định để chuyển đổi nhị phân thành thập lục phân . Nhập số nhị phân. Step 1: Input binary number. Bước 2. Chia số nhị phân của bạn thành các nhóm bốn, bắt đầu từ bên phải. Bước 3. Chuyển đổi một nhóm 4 chữ số của một số nhị phân thành một chữ số thập lục phân.