2013-05-01 53 views
0

我想用ICU來轉換的UnicodeString爲UTF-16字符串,以big-endian編碼,通過套接字發送。ICU大端字符串

大端東西是搞亂了我。我似乎無法找到與ICU和C++有關的主題的任何資源。使用C#,我可以做System.Text.Encoding.BigEndianUnicode.GetBytes,但ICU似乎沒有給我這樣的選擇。

如何轉換的ICU的UnicodeString到大端,UTF-16字節數組?

+0

好吧,如果你知道你的字符串是big endian,套接字排序也是big endian,所以你可以簡單地省略你通常會做的將你的shorts轉換成網絡順序的htons調用。 – camelccc 2013-05-01 11:07:18

+0

我不明白你的意思,但我有一個問題。給定一個UTF-16 Unicode數組,我可以簡單地從數組中讀取每條短片並交換它嗎?我認爲這是合乎邏輯的,但我不確定整個Unicode的事情。我會看看是否可以在C#中執行此操作,以便檢查。 – Dylan 2013-05-01 11:24:39

回答

0

我對它進行了排序,我所要做的就是讀取每個2字節(16位)字符並手動交換字節順序。我認爲這會更復雜,但我猜不是。