c ++中多字节字符串的URL编码

时间:2012-02-29 23:44:41

标签: c++

我正在尝试通过c ++实现一些字符串的URL编码。字符串可以包含多字节字符,如™,®,©等。

输入文字:Something™
输出应为:某物%20%E2%84%A2

我可以使用encodeURIComponent和decodeURIComponent在JS中实现URL编码或解码, 但我在c ++中有一些本机代码,因此需要通过c ++编写一些文本。

这里的任何帮助都会给我带来很大的帮助。

1 个答案:

答案 0 :(得分:1)

如果找不到图书馆,手动操作并不困难。首先将字符串编码为UTF-8(如果字符串是另一种编码,则在SO上有关于使用标准库执行此操作的其他帖子),然后将每个字符替换为大于127的值,并且每个字符都限制在URL中,使用该字符的百分比编码(百分号后跟两个代表字符值的十六进制数字)。