javascript - JS UTF-8 解码问题:不推荐使用以“0”为前缀的八进制文字和八进制转义序列;对于八进制文字,请改用“0o”前缀
问题描述
我一直在努力尝试完成这项工作,感谢您的帮助。
我基本上有一个可能看起来像这样“jas\303\241nek”的字符串,我想把它转换成一个看起来像这样的字符串“jasánek”。我已经使用 [this site] https://mothereff.in/utf-8成功地将字符串解码为所需的输出,并希望将其集成到我的网站中。该站点使用我一直在尝试使用的 npm 包utf8 。看起来像这样编写代码不足以进行翻译:
const utf8 = require('utf8')
let string = "jas\303\241nek"
let translation = utf8.decode(string);
console.log(translation)
看到这只返回了原始字符串,我意识到功能不是我想象的那样,所以我深入研究了初始翻译站点的代码,发现它使用了以下语法:
utf8.decode(eval('\'' + encoded.value + '\''));
所以我尝试实现这样的一些变体:
const utf8 = require('utf8')
let string = "jas\303\241nek"
let translation = utf8.decode(eval('\'' + string + '\'');
console.log(translation)
它返回一个我不明白的错误:
SyntaxError: "0"-prefixed octal literals and octal escape sequences are deprecated; for octal literals use the "0o" prefix instead
现在我被困住了。关于如何解决这个问题的任何建议?
解决方案
所以问题最终是试图在前端使用库进行 utf8 翻译。我在尝试 console.log 示例字符串并取回字符串而不是符号的值时发现了这一点。
为了解决这个问题,我在将它发送到前端的快递服务器上进行了 utf8 翻译,这解决了问题。
谢谢大家的建议。
推荐阅读
- jquery - jQuery / CSS - 无需遍历所有元素即可检测溢出
- node.js - s3.getObject().promise() 从不返回任何东西
- linux - 如果只有一个帧缓冲区,Xorg 如何管理多个监视器?
- go - Go中的切片分配是否复制内存
- npm - 如何从 3 迁移到 gulp v4?
- observable - 如何比较两个可观察对象中的项目,然后根据 RxJava2 中的匹配项进行过滤?
- c# - 如何创建 .tfignore 文件?
- python - 基于python列表过滤hive数据集
- removeall - 该帖子已被用户删除
- jooq - VoltDB 有 jooq 方言吗