0

我在一些处理从服务器发送接收数据的设备上实现了应用程序。来自服务器的数据通常以这种形式出现:

"1;username;someInteger;"

解析很简单,strtok正如你想象的那样,我正在使用从该字符串中检索单个值,例如:1、、usernamesomeInteger

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

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

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

4

2 回答 2

4

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

于 2013-10-30T08:52:51.033 回答
0

UTF8 的特点是您几乎不需要做任何事情。ASCII 字符仍然编码为相同的 ASCII 字节,所以如果你继续使用分号分隔符,你根本不需要做任何事情。

于 2013-10-30T08:51:57.837 回答