Après avoir envoyé une requête HTTP à Swift, j'obtiens un champ dans la réponse appelé textEncodingName
.Comment puis-je convertir une chaîne, telle que "iso-8859-1", en sa contrepartie String.Encoding?
Je veux convertir l'objet data
que j'ai également reçu en une chaîne contenant son contenu, et pour ce faire, j'utilise String(data: data!, encoding: .utf8)
. Cela fonctionne la plupart du temps, car la plupart des sites Web sont codés en UTF-8. Mais avec, par exemple, https://www.google.co.uk
, le response.textEncodingName == "iso-8859-1"
. Je suppose que d'autres sites utiliseraient des encodages encore plus obscurs, alors ma question est la suivante: comment puis-je trouver le bon codage pour convertir mon objet data
en la chaîne correcte.
Avez-vous une idée de ce qui se produire si le codage n'a pas été reconnu? – Zac
@Zac Voir ma mise à jour pour vérifier si l'encodage est valide ou non. – rmaddy