2009-06-18 9 views

Respuesta

5

Debe ser un verdadero geek para leer BASE64 fuera de la pantalla.

En Oracle, cuando corro HEXTORAW, puedo tener una idea de lo que está en un campo RAW, pero no pude con BASE64.

Al igual que, cuando veo un montón de 0x3F, sé que hay algo con la codificación.

E internamente, estos son sólo bytes binarios, no hay otra necesidad de codificarlos, sino de mostrarlos a una persona del otro lado de la pantalla.

+0

Solo necesitarías convertirlo a base64 si necesitas enviarlo a algún lugar sobre ASCII, para decodificarlo de nuevo en formato binario y usarlo. –

0

Me imagino que su base de datos está realmente almacenando los datos como binarios, pero el editor de consultas lo mostrará usando codificación hexadecimal. Esto es lo que hará SQL Server Query Analyzer.

0

supongo que es sólo una cuestión de preferencia personal ... Hex es, con mucho, más fácil para mí leer a continuación, algo en Base32 o base 64

3

Es un buen compromiso entre el uso eficiente del espacio y facilidad de lectura. Los patrones de bits se hacen muy evidentes en hex, mientras que otras bases no son tan claras.

que es más fácil de leer, 0x8080 o 32896? Yo diría que el valor hexadecimal es.

También tiene la agradable propiedad de que cada dígito hexadecimal sea igual a un mordisco (por lo tanto, cada par equivale a un byte).

Es mucho más fácil de darle sentido a hexagonal en la cabeza que la base 64.

En cuanto a la base de datos, así que tener en cuenta que hay una diferencia entre cómo se muestran los datos y cómo se almacenan. Lo más probable es que simplemente muestre los datos como hexadecimales.

2

Base64 no funciona si desea utilizar los valores resultantes como nombres de archivo en Windows, porque base64 usa letras mayúsculas y minúsculas. Estoy seguro de que hay otros momentos en que no se puede usar por razones similares.

De acuerdo con otras respuestas con respecto a la legibilidad: los dígitos hexadecimales se alinean muy bien en bytes de 8 bits, mientras que los "dígitos" base64 no, y un dígito puede contener partes de dos bytes.

+0

Un poco de un caso de esquina, pero una buena razón para no utilizar base64 de todos modos. –

1

En el caso de almacenamiento de cadenas (con codificación segura de XML "potencialmente") podría obtener aún más eficacia con ASCII 85 ya que es un 5/4 hinchado en lugar de 4/3 para base64.

Pero es aún más difícil "leer" que base64. Y no muchas aplicaciones lo admiten con tanta frecuencia que tiene que escribir sus propias clases/funciones para hacer la codificación y decodificación.

Cuestiones relacionadas