从服务器响应中解析 UTF8 字符串

parsing utf8 string from server response

本文关键字:UTF8 字符串 服务器 响应      更新时间:2023-10-16

我已经在某些设备上实现了应用程序,该应用程序正在处理从服务器发送接收数据。来自服务器的数据通常采用以下形式:

"1;username;someInteger;"

解析很容易,我使用strtok你可以想象的那样从该字符串中检索单个值,例如:1usernamesomeInteger

但是现在可能会出现服务器将 unicode 字符串作为username发送给我的情况。

我认为好主意是使用编码为 UTF-8 字符串的用户名(我说得对吗?你有什么建议 - 我应该如何从上面的字符串解析它?例如,使用什么符号作为分隔符(例如,代替";"),或者使用哪些函数从上面的字符串中提取username

由于这是一些嵌入式设备,我想避免在那里安装一些第三方库(这甚至可能是不可能的),所以更"纯粹"的方式会更可取。

UTF-8 中的字符';'与 ASCII 中的字符相同,因为两种编码中的前 127 个字符相同的。这意味着您仍然可以使用 strtok';'上拆分。

UTF8 的本质是你几乎不需要做任何事情。ASCII 字符仍然编码为它们始终相同的 ASCII 字节,因此如果您只是继续使用分号分隔符,则根本不需要执行任何操作。