gpt4 book ai didi

c++ - 在 C++ 中定义 UTF-16BE 字符串

转载 作者:太空宇宙 更新时间:2023-11-04 14:19:17 25 4
gpt4 key购买 nike

我需要定义如下所示的 unicode 字符串:

const char SOME_STRING[] = { 0, 5, 0, 'M', 0, 'y', 0, 'S', 0, 't', 0, 'r' };

这是 UTF-16BE 字符串,前面加上包含长度的 big endian short,它在 java 中使用,这就是我需要它的原因。有没有比分别输入每个字符更好/更简洁的声明方式?

最佳答案

您可以改用 wchar_t,按需转换为字节,例如:

const wchar_t some_string[] = L"\x05MyStr";

int _tmain(int argc, _TCHAR* argv[])
{
for (int i = 0; i <= some_string[0]; i++)
printf("%d %d ", some_string[i] >> 8, some_string[i] & 0xFF);

return 0;
}

关于c++ - 在 C++ 中定义 UTF-16BE 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8873973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com