我想解码编码的urls。例如,字母ö被编码为对应于其十六进制utf-8编码0xc3b6
(50102)的"%C3%B6"
。
我现在需要知道如何在控制台上将此值打印为ö或将其打印到字符串缓冲区中。
简单地转换为char、wchar_t、char16_t或char32_t并打印为cout或wcout不起作用。
我得到的最接近的是使用它的utf-16表示0x00f6
。下面的代码片段打印ö
#include <codecvt>
#include <iostream>
#include <locale>
int main() {
std::wstring_convert<std::codecvt_utf8<char16_t>, char16_t> convert;
std::cout << convert.to_bytes(0x00f6) << '\n';
}
我现在需要一种从0xc3b6
计算0x00f6
的方法,或者另一种解码url的方法。
https://stackoverflow.com/questions/54060359
复制相似问题