我们都知道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))} )
Run Code Online (Sandbox Code Playgroud)
但这只会给我ð,不是.
我也试过使用Notepad ++,我发现这个帖子如何\u0432\u0441\u0435:如何在Notepad ++中将转义的Unicode(例如)转换为UTF-8字符(все).接受的答案也与上面的例子完全相同:ð.
我在这里找到了解码解决方案:完全解码文本的UTF8.js库,你可以在这里试试(\u00f0\u009f\u0091\u008d作为输入).
PowerShell中有一种方法可以解码\u00f0\u009f\u0091\u008d接收吗?我喜欢在导出的Facebook消息中使用真正的UTF-8,所以我可以真正阅读它们.
帮助我理解\u00f0\u009f\u0091\u008d实际代表什么的奖励积分(除了它是一些UTF-8十六进制表示).为什么它U+1F44D和\uD83D\uDC4DC++一样?