我有一个API,它接受UniCode数据作为C字符数组,并将其作为正确的UniCode短信发送。
现在我有四个代码点值,对应于一些本地字母表中的四个字符,我想通过将它们插入到C字符数组中来正确发送它们。
我尝试过
char test_data[] = {"\x00\x6B\x00\x6A\x00\x63\x00\x69"};
其中0x006B是一个码点,以此类推。
该API在内部调用。
int len = mbstowcs(NULL,test_data,0);
上述代码中的结果为0。似乎0x00被视为终止符。
我想正确地将上述代码点分配给C数组,以便它们在接收电话上转换为相应的UTF16字符(该电话支持字符集)。如果需要,我可以更改API。
平台是带有GLib的Linux。