01FZD39998855SS2YG4XP4T14P does not round trip between base32-decode and base32-encode

Abierto
#9 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
45/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Estancado
Stack tecnológico
javascript
Área
tooling

Línea de trabajo

Reproduce la discrepancia usando las importaciones base32-decode y base32-encode con el UID proporcionado y, a continuación, inspecciona cómo gestionan la variante Crockford. Compara los bytes decodificados y el resultado codificado con crockford-base32; el trabajo estará terminado cuando el valor vuelva a ser 01FZD39998855SS2YG4XP4T14P.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

01FZD39998855SS2YG4XP4T14P is a valid base32 encoded string and a base32 string should round trip between b32decode and b32encode to the same value. It doesn't. The crockford-base32 package does the round trip correctly.

import b32decode from 'base32-decode';
import b32encode from 'base32-encode';
import { CrockfordBase32 } from 'crockford-base32';

const uid = '01FZD39998855SS2YG4XP4T14P';

const buffer = CrockfordBase32.decode(uid);
console.log('decoded', new Uint8Array(buffer).toString());
const res = CrockfordBase32.encode(buffer);
console.log('encoded', res);

const decoded = b32decode(uid, 'Crockford');
console.log('DECODED', new Uint8Array(decoded).toString());
const encoded = b32encode(decoded, 'Crockford');
console.log('ENCODED', encoded);

Result:

decoded 1,127,218,52,165,40,65,75,156,139,208,39,108,77,4,150
encoded 01FZD39998855SS2YG4XP4T14P
DECODED 0,95,246,141,41,74,16,82,231,34,244,9,219,19,65,37
ENCODED 01FZD39998855SS2YG4XP4T14M

Run it on stackblitz:
https://stackblitz.com/edit/js-esmrfr

Lenguaje dominante
JavaScript
Estrellas
9
Forks
4
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de LinusU/base32-decode

Todos los issues de LinusU/base32-decode

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.