如何解决如何在 JavaScript 中将 Unicode 十六进制字符转换为 Latin-1
我正在使用 rae-api 来获取他们字典中单词的定义。问题是例如:我搜索单词 hola
的定义,它返回 como salutación familiar.
。我想以拉丁 1 个字符获取 ó
的值:ó
,因此,结果将是 como salutación familiar.
getHex
函数删除&#;
并将 xF3
返回到文本。但是,我想将所有 Unicode Hex 字符转换为 Latin-1。
我已经在类似问题中测试了很多答案,但没有一个对我有用(例如:decodeURIComponent
或使用十六进制转 utf8 库)。我正在使用 Discord.js。
userInput
是要搜索的词
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!")})
解决方法
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);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。