Estoy haciendo un convertidor de base que puede convertir cualquier número en cualquier base al mismo número en cualquier otra base. Dado que las bases pueden ser cualquier número, el resultado podría tener dígitos que representen un número mayor que 10. Para que solo un carácter corresponda a cada dígito en el resultado final, planeo asignar caracteres Unicode a cada dígito correspondiente a un valor mayor. que 10 usando String.fromCharCode(Base 10 number digit represents) . Sin embargo, noté que había un problema con este método; Parece que muchos de los valores están en blanco cuando se envían a la página web HTML o solo muestran un cuadro vacío que se ve así: ⯣ . Cuando traté de ver si el valor del carácter Unicode equivalía al cuadro vacío o a una cadena vacía usando una declaración if, siempre parecía devolver falso, incluso cuando el carácter Unicode asociado con el dígito devolvía el mismo cuadro vacío. Por favor, ¿pueden ayudarme a entender por qué sucede esto y cómo puedo construir la declaración if de modo que funcione como yo quiero?
Podrías intentar esto:
function convertToDecimal(num, base) { return window.parseInt(num.toString(), base); } const binary = 10; const base = 2; console.log("Decimal version:", convertToDecimal(binary, base))