【发布时间】:2018-06-12 22:38:07
【问题描述】:
我们都知道 UTF-8 很难。我从 Facebook 导出了我的消息,生成的 JSON 文件将所有非 ascii 字符转义为 unicode 代码点。
我正在寻找一种简单的方法来将这些 unicode 代码点转义为常规的旧 UTF-8。我也很想使用 PowerShell。
我试过了
$str = "\u00f0\u009f\u0091\u008d"
[Regex]::Replace($str, "\\[Uu]([0-9A-Fa-f]{4})", `
{[char]::ToString([Convert]::ToInt32($args[0].Groups[1].Value, 16))} )
但这只会给我ð的结果,而不是????.
我也尝试使用 Notepad++,发现了这个 SO 帖子:How to convert escaped Unicode (e.g. \u0432\u0441\u0435) to UTF-8 chars (все) in Notepad++。接受的答案也与上面的示例完全相同:ð.
我在这里找到了解码解决方案:完美解码文本的UTF8.js library,您可以使用try it out here(输入\u00f0\u009f\u0091\u008d)。
PowerShell 中有没有办法解码\u00f0\u009f\u0091\u008d 以接收?????我希望在我导出的 Facebook 消息中使用真正的 UTF-8,以便我可以真正阅读它们。
帮助我理解\u00f0\u009f\u0091\u008d 实际代表什么的奖励积分(除了它是some UTF-8 hex representation)。为什么和 C++ 中的U+1F44D 或\uD83D\uDC4D 一样?
【问题讨论】:
-
它们是 unicode 代码点...从 unicode.org 网站查看标准。
标签: json facebook powershell utf-8 facebook-messenger