我正在使用 Twitter API 库向 Twitter 发布状态。 Twitter 要求帖子采用 UTF-8 编码。该库包含一个 URL 编码标准字符串的函数,该函数完美适用于所有特殊字符,例如 !@#$%^&*() 但对于重音字符(和其他 UTF-8)是不正确的编码。
例如,“é”被转换为“%E9”而不是“%C3%A9”(它几乎只能转换为十六进制值)。是否有内置函数可以输入类似 'é' 的内容并返回类似 '%C9%A9"的内容?
编辑:我对 UTF-8 还很陌生,以防我的请求毫无意义。
编辑:如果我有一个
string foo = "bar é";
我想把它转换成
"bar %C3%A9"
谢谢
最佳答案
如果您有一个宽字符串,您可以使用标准 wcstombs() 将其编码为 UTF8功能。如果您使用其他编码(例如 Latin-1),则必须先将其解码为宽字符串。
编辑: ... 但 wcstombs() 取决于您的区域设置,它看起来像 you can't select a UTF8 locale on Windows . (你没有说你使用的是什么操作系统。)WideCharToMultiByte()在 Windows 上可能更有用,因为您可以在调用中指定编码。
关于c++ - 如何使用 UTF-8 编码字符/字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5083032/