C++ 大端弦

C++ 大端弦,c++,endianness,icu,C++,Endianness,Icu,我想将使用ICU的UnicodeString转换为UTF-16字符串,用big-endian编码,以便通过套接字发送 big endian的事把我搞砸了。我似乎找不到任何与ICU和C++有关的资源。使用C#,我可以执行System.Text.Encoding.BigEndianUnicode.GetBytes,但ICU似乎没有提供这样的替代方案 如何将解构转换为大端字节UTF-16字节数组?我对它进行了排序,只需读取每个2字节(16位)字符并手动交换端号即可。我认为这会更复杂,但我想不会。好吧,

我想将使用ICU的UnicodeString转换为UTF-16字符串,用big-endian编码,以便通过套接字发送

big endian的事把我搞砸了。我似乎找不到任何与ICU和C++有关的资源。使用C#,我可以执行System.Text.Encoding.BigEndianUnicode.GetBytes,但ICU似乎没有提供这样的替代方案


如何将解构转换为大端字节UTF-16字节数组?

我对它进行了排序,只需读取每个2字节(16位)字符并手动交换端号即可。我认为这会更复杂,但我想不会。

好吧,如果你知道你的字符串是big-endian,套接字排序也是big-endian,那么你可以简单地调用hton调用,你通常会这样做,将你的短裤转换为网络顺序。我不明白你的意思,但我有一个问题。给定一个UTF-16 Unicode数组,我可以简单地从数组中读取每个短字符并交换它吗?我认为这是合乎逻辑的,但我不确定整个Unicode的事情。不过,我要看看我是否能用C语言做到这一点。