Je souhaite convertir une partie de QUrl en Unicode. J'ai un URL donné, www.ÄSDF.de
et je veux le convertir en www.%C4SDF.de
. Comment puis-je faire ça en Qt? Quand j'utilise la méthode QUrl::toEncoded()
, j'obtiens toujours l'URL convertie en UTF-8 hex: "www.% C3% 83% C2% 84SDF.de".Convertir QString ou QUrl en Unicode
Répondre
Vous ne pouvez pas générer www.%C4SDF.de
avec QUrl::toPercentEncoding
car cette fonction est toujours codée en séquences d'octets UTF-8 avant le codage en%.
Si vous devez vraiment utiliser un non-encodage UTF-8 comme ISO-8859-1 (généralement pour la compatibilité avec les applications existantes malheureuses), vous devrez utiliser QByteArray::toPercentEncoding
sur un tableau d'octets que vous générez à partir QString::toLatin1
.
Cependant, vous ne voulez probablement pas faire cela non plus. Même l'UTF-8-correct www.%C3%84SDF.de
n'est pas un moyen valide de spécifier le nom d'hôte www.ÄSDF.de
dans un URI. Au lieu de cela, il doit être codé en utilisant le IDN algorithm (en utilisant Punycode), donnant www.xn--sdf-pla.de
.
Le moyen le plus facile et le plus pratique de procéder serait QUrl::toEncoded. Cela transforme un IRI, par exemple:
http://www.äsdf.de/äsdf?äsdf=äsdf
dans un URI de travail:
http://www.xn--sdf-pla.de/%C3%A4sdf?%C3%A4sdf
(note à nouveau IRI nécessite UTF-8.)
toEncodedUrl a été dépréciée dans QT5.
Je l'ai fait:
url.setUrl(QString(QUrl::toPercentEncoding(s, "/:")));
- 1. Comment convertir QString en LPCSTR (Unicode)
- 2. Comment convertir QString unicode en une chaîne std :: string?
- 3. comment convertir Qstring en Long?
- 4. Convertir std :: string en QString
- 5. QString Convertir local8Bit chaîne puis converti en QString
- 6. Convertir un QString multiligne en une ligne QString
- 7. QUrl toPercentEncoding() hexagone minuscule
- 8. Comment convertir ASCII ou Unicode en cyrillique?
- 9. Comment convertir TBuf8 QString
- 10. Convertir WCHAR en QString en Qt
- 11. Comment convertir LPTSTR QString
- 12. QString: problème de codage-décodage Unicode
- 13. Convertir QString en une chaîne Xerces
- 14. Wrapper pour convertir std :: string en QString?
- 15. Convertir QString Unix époque temps à QString temps standard
- 16. Convertir Unicode en UTF8
- 17. Convertir hash.digest() en unicode
- 18. Convertir unicode en emoji
- 19. comment convertir std :: string QString
- 20. Conversion QString en char *
- 21. Convertir "php unicode" en caractère
- 22. convertir unicode de forme "\ uxxxxxx" en chaîne ou texte
- 23. Comment convertir QList <QByteArray> en QString en QT?
- 24. iPhone: Convertir Unicode en chaîne
- 25. Comment convertir UTF8 en Unicode
- 26. Convertir WCHAR * en UNICODE STRING
- 27. Pourquoi BSTR et comment le convertir en QString?
- 28. convertir une chaîne en Unicode en C
- 29. Comment convertir QMap <QString, QMap <QString, int>> en QVariant?
- 30. Comment convertir implicitement des objets Qt en QString?
Avec - qurl :: toPercentEncoding (QString :: fromUtf8 ("www.ÄSDF.de")); - Je reçois maintenant le bon code utf-8 "www.% C3% 84SDF.de", mais comment puis-je convertir cette URL en unicode "www.% C4SDF.de"? – Garrz