c++ - C++ 将 UTF-8 转换为字符串
问题描述
我有一个用 C++ 开发的 Web 服务器。在此 Web 服务器中,从客户端接收数据并存储在数据库中。其中一些数据是波斯语的,它被转换为 Unicode UTF-8 格式。
例如:
数据字符串在客户端是“سلام” 当我获取数据时,在网络服务器中 "D8%B3%D9%84%D8%A7%D9%85"
我想将 UTF-8 代码转换为 c++ 字符串,我该如何进行这种转换?
解决方案
您的字符串不是 UTF-8 编码的,而是使用类似于 HTTP url 查询参数的自定义编码。
%
表示接下来的两个字符以十六进制编码单个字节。您将需要解析%
,如果遇到这样的字符,请将接下来的两个字符解释为十六进制编码字节。否则,您只需复制字符/字节。
推荐阅读
- javascript - D3.js v3 点图直方图重复值
- r - 将整数数字转换为百分比
- python - 实现文件的 Conda + Pytest ModuleNotFoundError
- swift - Swift中的循环延迟问题,有什么区别?
- php - 为什么将一个方法作为参数传递给另一个方法时会得到“函数名必须是字符串”
- r - rgee中的桶是什么?
- python - 如何阻止 Scrapy 爬虫立即执行?
- css - CSS flex 溢出-y firefox 错误
- java - Apache Ignite:如何将 WAL 移动到不同的位置?
- visual-studio-code - 安装 Microsoft Visual Studio Code 时遇到问题