Hướng dẫn check if image is base64 javascript - kiểm tra xem hình ảnh có phải là javascript base64 không
Tôi đang sử dụng hàm 2 để giải mã một chuỗi từ base64 sang chuỗi. Bây giờ tôi tự hỏi, có cách nào để kiểm tra xem 'Chuỗi' có thực sự là Base64 hợp lệ không? Tôi muốn được thông báo nếu chuỗi không phải là base64 để tôi có thể thực hiện một hành động khác.
pimvdb Phù bằng vàng 149K7676 gold badges301 silver badges351 bronze badges Hỏi ngày 22 tháng 10 năm 2011 lúc 14:55Oct 22, 2011 at 14:55
1 Nếu bạn muốn kiểm tra xem nó có thể được giải mã hay không, bạn chỉ cần thử giải mã nó và xem liệu nó có thất bại hay không:
Đã trả lời ngày 22 tháng 10 năm 2011 lúc 15:03Oct 22, 2011 at 15:03
PIMVDBPIMVDBpimvdb Phù bằng vàng 149K7676 gold badges301 silver badges351 bronze badges 6 Hỏi ngày 22 tháng 10 năm 2011 lúc 14:55
Nếu bạn muốn kiểm tra xem nó có thể được giải mã hay không, bạn chỉ cần thử giải mã nó và xem liệu nó có thất bại hay không:
Dựa trên câu trả lời của @Anders-Marzi-Tornblad, sử dụng Regex để thực hiện một bài kiểm tra đúng/sai đơn giản cho tính hợp lệ của Base64 cũng dễ như sau:Jan 25, 2016 at 20:58
Cập nhật 2021Philzen Theo các bình luận bên dưới, nó sẽ truyền giải pháp dựa trên Regex này cung cấp kiểm tra chính xác hơn so với chỉ đơn giản là ____ 13 12 Giải pháp dựa trên Regex dường như cũng là giải pháp nhanh nhất được gợi ý bởi Kai. Vì JSPERF có vẻ như atm bong tróc, tôi đã thực hiện một bài kiểm tra mới trên JSBench, điều này xác nhận điều này.
Đã trả lời ngày 25 tháng 1 năm 2016 lúc 20:58 Philzenphilzen4 gold badges40 silver badges58 bronze badges 3.64727 Huy hiệu bạc43 Huy hiệu đồngDec 3, 2015 at 14:24
Cái này cần phải dùng mẹo.Dan Smith Andy Hoffman6 silver badges3 bronze badges 6 17,9K4 Huy hiệu vàng40 Huy hiệu bạc58 Huy hiệu đồng Đã trả lời ngày 3 tháng 12 năm 2015 lúc 14:24 Dan Smithdan Smith
j3ff 6156 Huy hiệu bạc3 Huy hiệu đồng7 gold badges40 silver badges51 bronze badges Nếu "hợp lệ" có nghĩa là "chỉ có Base64 chars trong đó" thì hãy kiểm tra đối với 7.Oct 22, 2011 at 14:58
Nếu "hợp lệ" có nghĩa là một chuỗi được mã hóa cơ sở "hợp pháp" thì bạn nên kiểm tra 5 ở cuối.Dave NewtonNếu "hợp lệ" có nghĩa là một cái gì đó hợp lý sau khi giải mã thì nó đòi hỏi kiến thức miền.24 gold badges254 silver badges301 bronze badges 5 5.3797 Huy hiệu vàng40 Huy hiệu bạc51 Huy hiệu Đồng
Explanation:
Đã trả lời ngày 22 tháng 10 năm 2011 lúc 14:58Oct 24, 2011 at 10:20
3 Dave Newtondave Newton
158K24 Huy hiệu vàng254 Huy hiệu bạc 301 Huy hiệu đồngOct 20, 2015 at 5:31
2 Tôi sẽ sử dụng một biểu thức chính quy cho điều đó. Thử cái này:
https://github.com/chriso/validator.js/blob/master/src/lib/isBase64.js Đã trả lời ngày 24 tháng 10 năm 2011 lúc 10:20Apr 7, 2017 at 13:15
Phương pháp này cố gắng giải mã sau đó mã hóa và so sánh với bản gốc. Cũng có thể được kết hợp với các câu trả lời khác cho các môi trường gây ra lỗi phân tích cú pháp. Cũng có thể có một chuỗi trông giống như Base64 hợp lệ từ quan điểm regex nhưng không phải là cơ sở thực tế64.Lukas Liesis Đã trả lời ngày 20 tháng 10 năm 2015 lúc 5:3110 gold badges107 silver badges105 bronze badges 4
Đây là cách nó được thực hiện trong một trong những lib xác thực yêu thích của tôi:
Đối với tôi, một chuỗi có thể là một cơ sở được mã hóa64 nếu:
chiều dài của nó chia hết cho 4Nov 18, 2020 at 10:22
Sử dụng 9 0 1 2willnodeChỉ sử dụng 3 Vì vậy, mã sẽ là
Đã trả lời ngày 18 tháng 11 năm 2020 lúc 10:22Jul 7, 2021 at 12:58
willnodewillnodemikep 1.21812 Huy hiệu bạc17 Huy hiệu đồng1 gold badge24 silver badges35 bronze badges Triển khai trong nodejs (xác nhận không chỉ cho phép chars mà chuỗi base64)
Đã trả lời ngày 7 tháng 7 năm 2021 lúc 12:58 Mikepmikep 04.9831 Huy hiệu vàng24 Huy hiệu bạc35 Huy hiệu đồngJul 7 at 18:34
Tôi đã thử các câu trả lời dưới đây nhưng có một số vấn đề. 1Khi sử dụng điều này, nó sẽ đúng với các chữ cái "BBBBB". Và nó cũng sẽ đúng với "4444".Dec 17, 2020 at 12:18
Tôi đã thêm một số mã để làm việc chính xác cho tôi.Arsman Ahmad Đã trả lời ngày 7 tháng 7 lúc 18:3423 silver badges34 bronze badges 5 |