Python byte không dấu

Trăn 3. 2 hiện có chức năng gọi là int. from_bytes[] để chuyển đổi byte thành số nguyên. Để tạo byte trong Python, hãy sử dụng phương thức bytes[]. bytes[] là một phương thức tích hợp trả về đối tượng byte bất biến được khởi tạo với kích thước và dữ liệu đã cho

Python byte thành int

Để chuyển đổi byte thành int trong Python, hãy sử dụng int. phương thức from_bytes[]. Một giá trị byte có thể được hoán đổi thành một giá trị int bằng cách sử dụng int. hàm from_bytes[]

số nguyên. Hàm from_bytes[] lấy byte, thứ tự byte, đã ký, * làm tham số và trả về số nguyên được biểu thị bằng mảng byte đã cho

cú pháp

int.from_bytes[bytes, byteorder, *, signed=False]

Tranh luận

byte. Nó là một đối tượng byte

thứ tự phụ. Nó xác định thứ tự biểu diễn giá trị số nguyên. Thứ tự byte có thể có các giá trị là “nhỏ”, trong đó bit quan trọng nhất được lưu trữ ở cuối “lớn”, trong đó MSB được lưu trữ ở đầu và LSB ở cuối

đã ký. Nó có giá trị mặc định Sai. Nó cho biết có đại diện cho phần bù 2 của một số hay không

Giá trị trả về

Nó trả về số nguyên được biểu thị bằng mảng byte đã cho

Thí dụ

# Declaring byte value
byte_val = b'\x21\x19'

# Converting to int
int_val = int.from_bytes[byte_val, "big"]

# printing int equivalent
print[int_val]

đầu ra

8473

Bạn có thể thấy rằng chúng tôi đã vượt qua byteorder = big. Đối số byteorder xác định thứ tự byte được sử dụng để biểu diễn số nguyên. Nếu thứ tự byte là "nhỏ", thì byte quan trọng nhất nằm ở đầu mảng byte

Vượt qua byteorder = “nhỏ”

Nếu thứ tự byte là "nhỏ", thì byte quan trọng nhất nằm ở cuối mảng byte

# Declaring byte value
byte_val = b'\x11\x21'

# Converting to int
int_val = int.from_bytes[byte_val, "little"]

# printing int equivalent
print[int_val]

đầu ra

8465

Đã ký = True

số nguyên. phương thức from_bytes[] cũng chấp nhận đối số đã ký. Theo mặc định, giá trị của nó là Sai

Hãy để một ví dụ khác và vượt qua đã ký = True và xem đầu ra

# Declaring byte value
byte_val = b'\xfc\x00'

# Converting to int
int_val = int.from_bytes[byte_val, "big", signed=True]

# printing int equivalent
print[int_val]

đầu ra

-1024

Tôi hy vọng bạn đã tìm thấy câu trả lời mà bạn đang tìm kiếm và đó là câu trả lời để chuyển đổi byte thành số nguyên trong ví dụ Python

Thông thường, dữ liệu được lưu trữ trong bộ lưu trữ ở định dạng byte. Trong bài viết này, chúng ta sẽ thảo luận về cách chúng ta có thể chuyển đổi dữ liệu được cung cấp dưới dạng byte thành kiểu dữ liệu số nguyên hoặc int trong python. Đối với điều này, chúng tôi sẽ sử dụng phương pháp int.from_bytes[]

Làm cách nào để chuyển đổi byte thành int trong Python?

Chúng tôi sẽ chuyển đổi byte thành int bằng cách sử dụng phương thức int.from_bytes[]. Cú pháp của phương thức from_bytes[] như sau

Cú pháp int. from_bytes[]

1

2

3

 

int. từ_byte[byte, thứ tự byte, *, signed=False]

 

Nơi đây,

  • Tham số bytes lấy đối tượng bytes phải được chuyển đổi thành int làm đối số đầu vào.  
  • Tham số byteorder được sử dụng để xác định thứ tự byte của đối tượng bytes được truyền làm đối số đầu vào đầu tiên.  
    • Nếu “big” được cung cấp làm đối số đầu vào cho tham số byteorder, thì byte đầu tiên từ phần đầu của đối tượng bytes được coi là byte quan trọng nhất.  
    • Nếu “little” được cung cấp làm đối số đầu vào cho tham số byteorder, thì byte đầu tiên từ cuối đối tượng bytes được coi là byte quan trọng nhất.  
    • Để sử dụng thứ tự byte của máy đang chạy chương trình, bạn có thể sử dụng thuộc tính int.from_bytes[]1 bằng mô-đun int.from_bytes[]2
  • Tham số int.from_bytes[]3 được sử dụng để xác định xem số nguyên được tạo là số nguyên có dấu hay không dấu. Theo mặc định, nó có giá trị int.from_bytes[]4 biểu thị rằng số nguyên được tạo sẽ không có dấu

Làm cách nào để chuyển đổi byte thành số nguyên đã ký trong Python?

Để chuyển đổi đối tượng byte thành int đã ký, chúng tôi sẽ đặt tham số đã ký thành int.from_bytes[]5 trong phương thức from_bytes[]. Để quan sát điều này, trước tiên chúng ta hãy tạo một đối tượng bytes từ một số nguyên bằng cách sử dụng phương thức int.from_bytes[]8. Phương thức int.from_bytes[]9 lấy giá trị số nguyên làm đối số đầu vào đầu tiên, độ dài của đối tượng byte đầu ra làm đối số đầu vào thứ hai và thứ tự byte làm đối số đầu vào thứ ba. Sau khi thực hiện, nó trả về đối tượng bytes. Sau đó, chúng ta có thể chuyển đổi đối tượng bytes thành int bằng cách sử dụng phương thức from_bytes[] như hình bên dưới

sử dụng int. from_bytes[]

1

2

3

4

5

6

7

8

9

10

11

12

 

myInt = 123

myBytes = int. to_bytes[myInt, 5, 'big']

in["Đối tượng byte là. ", Bytes của tôi]

đầu ra = int. from_bytes[myBytes, ', signed=True]

in["Đầu ra số nguyên là. ", đầu ra]

myInt1 = 123

myBytes1 = int. to_byte[myInt1, 5, 'little']

in["Đối tượng byte là. ", myBytes1]

đầu ra1 = int. from_bytes[myBytes1, ', signed=True]

in["Đầu ra số nguyên là. ", đầu ra1]

 

đầu ra

đầu ra

1

2

3

4

5

6

7

 

Đối tượng byte object . b'\x00\x00\x00\x00{'

Đầu ra số nguyên . 123

Đối tượng byte object . b'{\x00\x00\x00\x00'

Đầu ra số nguyên . 123

 

 

Trong ví dụ trên, trước tiên chúng ta đã tạo một đối tượng byte có độ dài 5. Sau đó, chúng tôi đã chuyển đổi đối tượng byte thành int. Trong đối tượng bytes, bạn có thể quan sát vị trí của from_bytes[]1. Nó nằm ở cuối bên phải của đối tượng bytes khi chúng ta tạo đối tượng bytes với byteorder 'lớn'. Mặt khác, nó nằm ở cuối bên trái của đối tượng bytes khi chúng ta tạo đối tượng bytes bằng cách sử dụng byteorder ‘little

Bạn nên nhớ rằng thứ tự phụ được chỉ định trong phương thức from_bytes[] phải giống với thứ tự phụ được chỉ định trong khi tạo đối tượng byte. Mặt khác, đối tượng int được tạo từ đối tượng bytes không tạo ra đầu ra mong muốn. Bạn có thể quan sát điều này trong ví dụ sau

sử dụng int. from_bytes[]

1

2

3

4

5

6

7

8

9

10

11

12

 

myInt = 123

myBytes = int. to_bytes[myInt, 5, 'big']

in["Đối tượng byte là. ", Bytes của tôi]

đầu ra = int. from_bytes[myBytes, ', signed=True]

in["Đầu ra số nguyên là. ", đầu ra]

myInt1 = 123

myBytes1 = int. to_byte[myInt1, 5, 'little']

in["Đối tượng byte là. ", myBytes1]

đầu ra1 = int. from_bytes[myBytes1, ', signed=True]

in["Đầu ra số nguyên là. ", đầu ra1]

 

đầu ra

đầu ra

1

2

3

4

5

6

 

Đối tượng byte object . b'\x00\x00\x00\x00{'

Đầu ra số nguyên . 528280977408

Đối tượng byte object . b'{\x00\x00\x00\x00'

Đầu ra số nguyên . 528280977408

 

Ở đây, bạn có thể quan sát thấy đầu ra hiển thị các giá trị rác khi chúng ta sử dụng các giá trị byteorder khác nhau tại thời điểm tạo đối tượng bytes và đối tượng int

đọc thêm

Chuyển đổi Bytearray thành Chuỗi trong Python

Đọc thêm →

Chuyển đổi Hex thành byte trong Python

Đọc thêm →

Làm cách nào để chuyển đổi byte thành số nguyên không dấu trong Python?

Để chuyển đổi byte thành int không dấu trong python, chúng ta có thể đặt tham số đã ký thành Sai hoặc để trống trong phương thức from_bytes[]. Bạn có thể quan sát điều này trong ví dụ sau

sử dụng int. from_bytes[] có dấu = false

1

2

3

4

5

6

7

8

9

10

11

12

 

myInt = 123

myBytes = int. to_bytes[myInt, 5, 'big']

in["Đối tượng byte là. ", Bytes của tôi]

đầu ra = int. from_bytes[myBytes, ', signed=False]

in["Đầu ra số nguyên là. ", đầu ra]

myInt1 = 123

myBytes1 = int. to_byte[myInt1, 5, 'little']

in["Đối tượng byte là. ", myBytes1]

đầu ra1 = int. from_bytes[myBytes1, ', signed=False]

in["Đầu ra số nguyên là. ", đầu ra1]

 

đầu ra

đầu ra

1

2

3

4

5

6

 

Đối tượng byte object . b'\x00\x00\x00\x00{'

Đầu ra số nguyên . 123

Đối tượng byte object . b'{\x00\x00\x00\x00'

Đầu ra số nguyên . 123

 

Một lần nữa, bạn nên sử dụng thứ tự phụ chính xác trong phương thức from_bytes[] để có thể tạo ra kết quả như mong đợi

Phần kết luận

Trong bài viết này, chúng tôi đã thảo luận về cách chúng tôi có thể chuyển đổi byte thành int trong python. Tôi hy vọng bạn thích đọc bài viết này. Hãy theo dõi để biết thêm các bài viết thông tin

Cái gì không được ký trong Python?

Số nguyên không dấu là số nguyên không âm 32 bit [0 hoặc số dương] trong phạm vi từ 0 đến 2^32-1.

Các byte Python có được ký không?

Byte trong Java được biểu thị bằng int có dấu trong phạm vi [-128, 127], Byte Python được biểu thị bằng unsigned int trong phạm vi [0, 255].

Sự khác biệt giữa số thập phân có dấu và không dấu trong Python là gì?

Ký tự không dấu là một byte đơn nằm trong khoảng từ 0 đến 255. 01. 16 Một ký tự char cũng là một byte đơn, nhưng ở dạng thập phân nằm trong khoảng từ -128 đến 127 . 256 điểm giống nhau được sử dụng, nhưng chúng được ánh xạ tới các số khác nhau.

Có loại byte nào trong Python không?

Định nghĩa. Hàm bytes[] của Python được sử dụng để chuyển đổi một đối tượng thành một đối tượng byte bất biến [không thể sửa đổi] với kích thước và dữ liệu đã cho . Hàm bytes[] của Python trả về một đối tượng byte, là một chuỗi số nguyên bất biến trong khoảng từ 0 đến 256.

Chủ Đề