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ềutô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 Falsetô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
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ángmộ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ángthả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
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]