Decode o unescape \ u00f0 \ u009f \ u0091 \ u008d a 👍

Todos sabemos que UTF-8 es difícil. Exporté mis mensajes de Facebook y el archivo JSON resultante escapó de todos los caracteres no ASCII a puntos de código Unicode.

Estoy buscando una manera fácil de escapar de estos puntos de código Unicode al antiguo UTF-8 normal. También me encantaría usar PowerShell.

Lo intent

$str = "\u00f0\u009f\u0091\u008d"
[Regex]::Replace($str, "\\[Uu]([0-9A-Fa-f]{4})", `
{[char]::ToString([Convert]::ToInt32($args[0].Groups[1].Value, 16))} )

pero eso solo me dað como resultado, no.

Traté de usar Notepad ++ y encontré esta publicación SO: Cómo convertir Unicode escapado (por ejemplo,\u0432\u0441\u0435) a caracteres UTF-8 (все) en Notepad ++. La respuesta aceptada también resulta exactamente igual que el ejemplo anterior:ð.

Encontré la solución de decodificación aquí: el UTF8.js library que decodifica el texto perfectamente y puedes intentarlo aquí (con\u00f0\u009f\u0091\u008d como entrada).

Hay una manera en PowerShell para decodificar\u00f0\u009f\u0091\u008d para recibir ? Me encantaría tener UTF-8 real en mis mensajes de Facebook exportados para poder leerlos.

Bonus puntos por ayudarme a entender lo que\u00f0\u009f\u0091\u008d en realidad representa (además de seralgunas representaciones hexadecimales UTF-8). ¿Por qué es lo mismo queU+1F44D o\uD83D\uDC4D en C ++?

Respuestas a la pregunta(1)

Su respuesta a la pregunta