MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie ist eine MongoDB ObjectID 12 Bytes?

Gemäß der ObjectId-Dokumentation , diese Zeichenfolge, die Sie sehen, ist eine Hex-Darstellung der 12 Bytes. Es ist nicht Unicode oder sogar eine Zeichenfolge. Es ist eigentlich eine Zahl.

Ein Byte besteht aus 8 Bit, was bedeutet, dass es 2^8 ==256 mögliche Werte haben kann (siehe Byte ).

Wie stellt man eine Zahl mit 256 möglichen Werten prägnant dar? Wie wäre es stattdessen mit 16^2? Sie können dies erreichen, indem Sie 2 Hexadezimalwerte (Basis 16) verwenden. Das einzige, was Sie erfinden müssen, ist ein Nummerierungssystem, das bis 16 statt 10 geht.

Tatsächlich verwenden wir Buchstaben von a zu f um die Werte 10 bis 15 darzustellen.

Somit kann ein Byte in zwei Hexadezimalzahlen dargestellt werden. Es wird einfach a verwendet zu f da wir uns nicht die Mühe machen konnten, spezielle Symbole für sie zu erfinden. Es sind keine Buchstaben. Es sind Zahlen.

Also nein, die Zeichenfolge, die Sie in ObjectId sehen, repräsentiert keine 24 Bytes. Alle 2 Zeichen repräsentieren stattdessen ein Byte. 24 Hex-Zahlen ==12 Bytes.