通過libevent socket收到中文字串(char陣列),一個漢字被轉換成了2個字符,cout列印出來是亂碼,應該怎么樣把字符陣列還原成原本的字串?
uj5u.com熱心網友回復:
轉換編碼試試可參考以下
https://bbs.csdn.net/topics/397563129
uj5u.com熱心網友回復:
轉換成Unicode編碼試試uj5u.com熱心網友回復:
如果陣列為純中文,則輸出2個字符即可。可參uj5u.com熱心網友回復:
不要把特例當真理
2個位元組表示漢字 只是GBK BIG5 等編碼的要求
uj5u.com熱心網友回復:
轉成gbk試試,進行轉碼操作。看當前系統是什么編碼。uj5u.com熱心網友回復:
對電腦而言沒有亂碼,只有二進制位元組;對人腦才有亂碼。啊 GBK:0xB0 0xA1,Unicode-16 LE:0x4A 0x55,Unicode-16 BE:0x55 0x4A,UTF-8:0xE5 0x95 0x8Auj5u.com熱心網友回復:
把資料列印 0xFF 十六進制。對比下。如果是一致的。那就要看是否界面顯示編碼不一致轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/9506.html
標籤:C++ 語言
下一篇:安全虛擬桌面
