我目前有一个字符串ƴǮǮȏϘЁЎϊդ࠷ࡔც
,我已经用JS对encodeURIComponent
的JS进行了编码,使其成为%C6%B4%C7%AE%C7%AE%C8%8F%CF%98%D0%81%D0%8E%CF%8A%D5%A4%E0%A0%B7%E0%A1%94%E1%83%AA
。
当我尝试在Linux上的node.js中使用encodeURIComponent对其进行解码时,确实得到了原始字符串。但是,当我尝试在Windows上使用node.js对其进行解码时,我得到的是:ƴǮǮÈϘÐÐŽÏŠÕ¤à ·à¡”áƒª
。有什么理由吗?对于我来说,奇怪的是,跨平台的输出是不同的。
这只是用不同的编码秘密地发生了吗?如何将该Windows字符串转换回我想要的原始格式?
答案 0 :(得分:1)
虽然您可能会遇到错误,但是Node.js 应该在每个平台上都做完全相同的事情。
我更可能是以下一种解释:
那是你应该去的地方。
就其价值而言,您发布的“字符串”已完全损坏。至少以您将其发布到堆栈溢出的方式。
大多数与javascript字符串相关的工具都希望使用UTF-8,以及您发布的内容……好吧,可能有很多事情,但看起来不像人类语言。它看起来像是“曾经是”某种编码形式的有效文本,被错误的解码器误解了,然后被复制粘贴到stackoverflow(即UTF-8)中。是mojibake