我正在从Node.js
应用程序调用 Telegram Bot API。我需要向 API 发送一些 Unicode 字符,它只接受 Ruby 格式(\u{1F680}
输出)。我将这种格式的所有 Unicode 字符存储在一个文件中,该文件是实际向 API 发送消息的人所需要的。
Node.js 对此没问题,它工作正常。但是,当我在相同的代码上运行 Mocha 测试时,它会导致Unexpected token ILLEGAL
错误,它不喜欢 Ruby Unicode 格式。测试本身甚至没有使用这个 Unicode 字符,编译失败了。
emojis.rocket = '\u{1F680}';
^^^
SyntaxError: Unexpected token ILLEGAL
at exports.runInThisContext (vm.js:73:16)
at Module._compile (module.js:443:25)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/path/to/file/values_es.js:1:76)
// more error lines...
npm ERR! Test failed. See above for more details.
如果我将其更改为 JavaScript Unicode 格式\u1F680
(
我尝试了以下方法:
- 以 JavaScript 格式存储
\u1F680
,然后{}
在运行时添加 ,但它输出不同的字符 (Ὠ0),对应于前四个 HEX 值 (\u1F68
) 和额外的0
。 - 以 JavaScript 格式存储
\u1F680
并添加编码 Ruby 函数code.encode('UTF-8')
,以防 Telegram Bot API 执行 Ruby 代码。也不起作用,它会打印\u1F680.encode('UTF-8')
.
有什么方法可以让 Mocha 接受 Ruby-ish ( \u{1F680}
) 格式?