Frage

Ich bin ein wenig neugierig, warum man sich wünschen würde Hex-Codierung über base64 zu verwenden. Es scheint mir, dass Basis 64 effizienter ist. Insbesondere, warum ist es, dass Datenbanken scheinen immer Hex-Codierung zu verwenden? Ist es ein historisches Thema, oder bin ich etwas über Hex-Codierung fehlt?

War es hilfreich?

Lösung

Sie müssen ein echter Geek BASE64 aus dem Bildschirm zu lesen.

In Oracle, wenn ich HEXTORAW laufe, kann ich eine Vorstellung davon bekommen, was in einem RAW Feld, aber ich konnte nicht mit BASE64.

Wie, wenn ich viele 0x3F sehen, ich weiß, es ist etwas mit Codierung.

Und intern, das ist nur Binärbytes, gibt es keine andere Notwendigkeit, sie zu kodieren, sondern an einer Person auf der anderen Seite des Bildschirms zu zeigen.

Andere Tipps

Es ist ein guter Kompromiss zwischen einem effizienten Raumnutzung und Lesbarkeit. Bit-Muster werden sehr deutlich in hex, während andere Basen sind nicht so klar.

Was ist leichter zu lesen, 0x8080 oder 32896? Ich würde sagen, der Hex-Wert ist.

Es hat auch die schöne Eigenschaft jedes Hexadezimalzeichens einem Nibble gleich sind (also jedes Paar gleich einem Byte).

Es ist viel einfacher zu Sinne hex im Kopf zu machen als Basis 64.

Was die Datenbank, halten auch daran, dass es einen Unterschied gibt zwischen dem, wie Daten angezeigt werden und wie sie gespeichert wird. Es wird höchstwahrscheinlich einfach die Daten als Hex angezeigt wird.

Base64 funktioniert nicht, wenn Sie die resultierenden Werte als Dateinamen unter Windows verwenden möchten, weil Base64 sowohl Groß- als auch Kleinbuchstaben verwendet. Ich bin sicher, es gibt auch andere Zeiten, in denen es nicht aus ähnlichen Gründen verwendet werden.

Vereinbaren Sie mit anderen Antworten in Bezug auf Lesbarkeit -. Hexziffern ausrichten schön auf 8-Bit-Bytes, während base64 „Ziffern“ nicht, und eine Ziffer können Teile von zwei Bytes enthalten

Bei dem String-Speicher (mit „potentiell“ XML sichere Codierung) Sie könnte noch mehr Effizienz gewinnen mit ASCII 85, wie es ein 5/4 aufblasen ist anstelle von 4/3 für base64.

Aber es ist noch schwieriger zu „lesen“ und dann base64. Und nicht viele Anwendungen unterstützen sie so oft müssen Sie Ihre eigenen Klassen / Funktionen schreiben die Codierung und Decodierung zu tun.

Ich könnte mir vorstellen, Ihre Datenbank ist wirklich die Daten als binäre Speicherung, aber der Abfrage-Editor es mit Hex-Codierung zeigen. Dies ist, was SQL Server Query Analyzer tun wird.

Ich denke, es ist nur eine Frage der persönlichen Präferenz ... Hex bei weitem einfacher ist für mich dann etwas in Base32 oder Base64 zu lesen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top