Python là hex

Skaperen
Nặng như vịt

Bài viết. 4.354

Chủ đề. 1.397

Đã tham gia. Tháng 9 năm 2016

Danh tiếng. 14

#1

29-08-2021, 11. 14 giờ chiều

tôi có một chuỗi có thể là ID AMI hợp lệ trong ngữ cảnh AWS. đó sẽ là "ami-" theo sau là 17 chữ số thập lục phân. kiểm tra tiền tố và độ dài là đủ trực tiếp. tôi đã hy vọng có một phương thức str giống như có isdecimal[] cho các chữ số thập phân, nhưng không có. vì vậy tôi đang sử dụng chức năng của riêng mình như.

def ishex[s]:
    try:
        n = int[s,16]
        return True
    except ValueError:
        return False
tôi đã tự hỏi liệu có điều gì tốt hơn trong Python để tôi có thể bỏ chức năng nhỏ này không.

Truyền thống là áp lực của bạn bè từ những người đã khuất

Bạn gọi một người nói được ba thứ tiếng là gì? . Hai ngôn ngữ? . Một ngôn ngữ? .

Đáp lại

Tìm thấy

Đáp lại

bowlofred
Da Bishop

Bài đăng. 1.521

Chủ đề. 3

Đã tham gia. Tháng 3 năm 2020

Danh tiếng. 163

#2

Aug-30-2021, 01. 31 giờ sáng [Bài đăng này đã được sửa đổi lần cuối. 30-08-2021, 01. 31 giờ sáng bởi bowlofred. ]

Có vẻ ổn. Đặc biệt nếu bạn đã kiểm tra độ dài trước, thì thực sự sẽ không có bất kỳ vấn đề nào về hiệu suất.

Có một trường hợp cạnh nhỏ trong đó điều này sẽ trả về True cho "0xA", trong khi "x" không phải là chữ số thập lục phân.

Nếu bạn có một chuỗi lớn, thì việc chuyển đổi nó thành một kiểu int là không cần thiết. Trong trường hợp lớn, có lẽ tôi sẽ sử dụng công cụ tái tạo để tìm các chữ số không phải hệ thập lục phân. Một chuỗi có một triệu chữ số hex mất một chút thời gian để đi qua int[], trong khi. kiểm tra tìm kiếm rất nhanh.

______1Cũng có thể thực hiện so sánh tập hợp hoạt động nhanh trên các chuỗi lớn.

def ishex[s]:
    return not set[s] - set["ABCDEF0123456789"]

Đáp lại

Tìm thấy

Đáp lại

Skaperen
Nặng như vịt

Bài viết. 4.354

Chủ đề. 1.397

Đã tham gia. Tháng 9 năm 2016

Danh tiếng. 14

#3

Sep-02-2021, 05. 56 giờ sáng

một chuỗi thập lục phân khổng lồ sẽ là trường hợp vô lý. tôi không thể hình dung nó từng xảy ra trong những trường hợp thực tế. những giá trị này sẽ là đầu vào của người dùng và phản hồi từ AWS. một vài trăm chữ số vì ai đó đã gõ vào phím 'f' để khiến nó ngừng nảy và vô tình nhấn trở lại có lẽ là trường hợp xấu nhất. kiểm tra len[] phải đủ tốt.

ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

Truyền thống là áp lực của bạn bè từ những người đã khuất

Bạn gọi một người nói được ba thứ tiếng là gì? . Hai ngôn ngữ? . Một ngôn ngữ? .

Đáp lại

Tìm thấy

Đáp lại

quả óc chó

Bài viết. 7,816

Chủ đề. 145

Đã tham gia. Tháng 9 năm 2016

Danh tiếng. 571

#4

Sep-02-2021, 07. 22 giờ sáng

thảo luận mở rộng ở đây https. // stackoverflow. com/câu hỏi/1159. thập lục phân

Nếu bạn không thể giải thích điều đó cho một đứa trẻ sáu tuổi, thì chính bạn cũng không hiểu , Albert Einstein
Cách đặt câu hỏi . liên kết và một liên kết khác
Tạo ví dụ về MCV
Gỡ lỗi các chương trình nhỏ

Đáp lại

Tìm thấy

Đáp lại

Chuỗi hex có tiền tố “0x”. Trong Python, nếu bạn có tiền tố “0x” và một chuỗi hợp lệ, hãy sử dụng phương thức int[string, 0]  để lấy số nguyên. 0 được cung cấp để báo cho hàm diễn giải cơ sở từ tiền tố

Chuỗi Python thành hex

Để chuyển đổi chuỗi thành hex trong Python, hãy sử dụng phương thức hex[]. Hex[] là một phương thức tích hợp giúp chuyển đổi số nguyên thành chuỗi thập lục phân tương ứng.

Bạn có thể sử dụng hàm int[x, base] với 16 để chuyển đổi một chuỗi thành một số nguyên

Cú pháp của hex[]

hex[n]

Thông số

Phương thức hex[] nhận một đối số bắt buộc n. số nguyên

Giá trị trả về

Phương thức hex[] chuyển đổi một số nguyên thành một số thập lục phân tương ứng ở dạng chuỗi và trả về nó. Chuỗi thập lục phân được trả về bắt đầu bằng tiền tố 0x, cho biết nó ở định dạng thập lục phân

Ví dụ về chuyển đổi một chuỗi thành hex

hex_string = "0xFF"

an_integer = int[hex_string, 16]

hex_value = hex[an_integer]
print[hex_value]

đầu ra

0xff

Bạn có thể thấy từ đầu ra rằng chuỗi được trả về là hệ thập lục phân vì nó bắt đầu bằng 0xff

Python hex[] với đối tượng

Chuyển đổi một đối tượng Python thành giá trị băm bằng phương thức hex[]. Tạo một lớp tùy chỉnh và định nghĩa hàm __index__[] để sử dụng hàm hex[] với nó

class Ditto:
    no = 0

    def __index__[self]:
        print['__index__ function called']
        return self.no


dt = Ditto[]
dt.no = 19

print[hex[dt]]

đầu ra

__index__ function called
0x13

Biểu diễn thập lục phân của một float

Sử dụng phao. index[] phương thức chuyển đổi float thành hex

________số 8

đầu ra

0.0 in hex = 0x0.0p+0
19.5 in hex = 0x1.3800000000000p+4

Lỗi và ngoại lệ để chuyển đổi chuỗi thành hex

Hàm hex[] ném TypeError khi bất kỳ thứ gì khác ngoài hằng số kiểu số nguyên được truyền dưới dạng tham số

def ishex[s]:
    return not re.search[r"[^A-F0-9]", s]
0

đầu ra

def ishex[s]:
    return not re.search[r"[^A-F0-9]", s]
1

Bạn có thể thấy rằng hàm hex[] luôn mong đợi một số nguyên, nhưng nó nhận được một chuỗi, đó là lý do tại sao nó báo lỗi

Phương thức hex[] được sử dụng trong tất cả các chuyển đổi tiêu chuẩn, như chuyển đổi thập lục phân thành thập phân, thập lục phân thành bát phân và thập lục phân thành nhị phân

Sự kết luận

Để chuyển đổi một chuỗi hex [ví dụ:. 0xAD4] thành số hex, hãy sử dụng hàm hex[]. Sử dụng hàm int[] với tham số thứ hai, 16, để chuyển đổi chuỗi hex thành số nguyên. Sau đó, hàm hex[] chuyển đổi nó thành số thập lục phân.

Đó là nó cho bài viết này

Đọc thêm

Chuỗi Python thành int

Chuỗi Python thành datetime

Facebook

Twitter

Pinterest

WhatsApp

Bài viết trước Thay thế biểu thức chính quy Python. Cách tìm kiếm và thay thế chuỗi

Bài viết tiếp theo Python Datetime to String. Hướng dẫn cách thực hiện

kranal

https. //appdividend. com/

Krunal Lathiya là một kỹ sư công nghệ thông tin. Theo chuyên môn, anh ấy là một nhà phát triển web có kiến ​​thức về nhiều nền tảng back-end [e. g. , PHP, Nút. js, Python] và các khung JavaScript giao diện người dùng [e. g. , Góc, Phản ứng và Vue]

Python có sử dụng hex không?

Hàm hex[] của Python được sử dụng để chuyển đổi một số nguyên thành một chuỗi thập lục phân chữ thường có tiền tố là “0x” . Chúng ta cũng có thể truyền một đối tượng vào hàm hex[], trong trường hợp đó, đối tượng phải có hàm __index__[] được định nghĩa để trả về số nguyên. Đối số số nguyên đầu vào có thể ở bất kỳ cơ sở nào, chẳng hạn như nhị phân, bát phân, v.v.

Hex[] trả về Python là gì?

hàm hex[] chuyển đổi một số nguyên thành số thập lục phân tương ứng ở dạng chuỗi và trả về giá trị đó. Chuỗi thập lục phân được trả về bắt đầu bằng tiền tố 0x cho biết nó ở dạng thập lục phân.

Hex 15 trong Python là gì?

Chúng giống như các chữ số thập phân cho đến 9, nhưng sau đó có các chữ cái A, B, C, D, E và F thay cho các số thập phân từ 10 đến 15. . Số thập lục phân

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

Bạn có thể chuyển đổi chuỗi lục giác thành số nguyên trong Python bằng cách sử dụng phương thức literal_eval[] của thư viện ast [Cây cú pháp trừu tượng] . Ta phải truyền chuỗi hex cho hàm literal_eval[], không có tham số, hàm chuyển chuỗi hex thành số nguyên.

Chủ Đề