I’m using rae-api to get the definition of the words in their dictionary. The problem is for example: I search for the definition of the word hola, it returns como salutación familiar.. I want to get the value of ó in Latin-1 characters: ó, therefore, the result would be como salutación familiar. getHex function removes &#; and returns xF3 to the text. However, i want to convert all Unicode Hex characters to Latin-1.
I have tested a lot of answers in similar problems, but none of they works for me (example: decodeURIComponent or using Hex to utf8 libraries). I’m using Discord.js.
userInputis the word to search for
const { RAE } = require("rae-api");
const rae = new RAE();
//----------------- RAE -------------------------
function getHex(text) {
text = text.replace(/&#(.*?);/g, function (a, b) {
//Get the Latin-1 value of b and return it to the text
return b;
})
return text;
}
rae.searchWord(`${userInput}`).then(r => {
let wordID = r.getRes()[0].getId();
rae.fetchWord(wordID).then(word => {
let defs = word.getDefinitions();
let definition = defs[0].getDefinition();
return message.channel.send(`La definición de ${userInput} es: ${getHex(definition)}`);
})
}).catch(e => { return message.channel.send("No se encontró esa palabra!")})
Advertisement
Answer
var input = 'F3';
var decimalValue = parseInt(input, 16); // Base 16 or hexadecimal
var character = String.fromCharCode(decimalValue);
console.log('Input:', input);
console.log('Decimal value:', decimalValue);
console.log('Character representation:', character);