So I have some characters like í, ñ, etc. that are percent-encoded in a URL string in an XML document. I need to convert them programmatically from the combining form (e.g. i%CC%81) to their composed UTF-8 character equivalent (%C3%AD in that case).
SO was kind enough to point me to the same question about how to do this in iOS (you can't, you have to create your own lookup table) and C# (apparently you can do this in the general case with built-in functionality in C#).
In python3 urllib.quote moved to urllib.parse, but you're actual looking for unicodedata.normalize()
Coming from a default python3 string
import urllib.parse import unicodedata s = "î" print (urllib.parse.quote(s)) > %C3%AE s = unicodedata.normalize("NFC",s) print (urllib.parse.quote(s)) > %C3%AD
which looks to me pretty much like the result you're looking for.