Bencode API
Κωδικοποιήστε και αποκωδικοποιήστε Bencode (BEP 3) — τη μορφή σειριοποίησης που χρησιμοποιεί το BitTorrent για αρχεία .torrent metainfo και απαντήσεις tracker. Το τελικό σημείο κωδικοποίησης μετατρέπει μια τιμή JSON σε Bencode: τα αντικείμενα γίνονται λεξικά με τα κλειδιά τους ταξινομημένα σε ακατέργαστη σειρά byte ακριβώς όπως απαιτεί η προδιαγραφή, οι πίνακες γίνονται λίστες, οι ακέραιοι αριθμοί γίνονται ακέραιοι και οι συμβολοσειρές γίνονται συμβολοσειρές byte με πρόθεμα μήκους. Το τελικό σημείο αποκωδικοποίησης αναλύει το Bencode πίσω σε μια τιμή JSON και εφαρμόζει αυστηρά την προδιαγραφή — χωρίς μηδενικά στην αρχή σε ακεραίους, χωρίς αρνητικό μηδέν, τα κλειδιά λεξικού πρέπει να είναι ταξινομημένα και μοναδικά, και δεν γίνονται ανεκτά δεδομένα στο τέλος — έτσι η κακοσχηματισμένη είσοδος απορρίπτεται αντί να αλλοιώνεται σιωπηλά. Οι δυαδικές συμβολοσειρές byte που δεν είναι έγκυρες UTF-8 αναπαρίστανται χωρίς απώλειες ως αντικείμενο {"_bytes_hex":"…"}, οπότε η κωδικοποίηση και η αποκωδικοποίηση επιστρέφουν ακριβώς ακόμα και για το δυαδικό πεδίο "pieces" ενός πραγματικού torrent. Η αποκωδικοποίηση δέχεται τα δεδομένα είτε ως κείμενο είτε, για πραγματικά δυαδικά ωφέλιμα φορτία, ως hex· η κωδικοποίηση επιστρέφει τόσο το κείμενο Bencode (όταν είναι εκτυπώσιμο) όσο και τα hex byte του. Όλα υπολογίζονται τοπικά και ντετερμινιστικά, επομένως είναι άμεσα και ιδιωτικά. Ιδανικό για δημιουργία και ανάλυση αρχείων .torrent, εργαλεία tracker, πελάτες BitTorrent και μηνύματα DHT, και διδασκαλία του τρόπου λειτουργίας της μορφής. Καθαρός τοπικός υπολογισμός — χωρίς κλειδί, χωρίς υπηρεσία τρίτου, άμεσο. Ζωντανό, τίποτα δεν αποθηκεύεται. 3 τελικά σημεία. Αυτό είναι το Bencode του BitTorrent συγκεκριμένα· για κωδικοποίηση base64, hex, URL ή HTML χρησιμοποιήστε μια γενική API κωδικοποίησης, και για JSON, YAML, TOML ή XML χρησιμοποιήστε αυτές τις μορφές API.
api.oanor.com/bencode-api