UE4 在socket中傳輸中文資料時錯誤
socket預設使用utf8格式傳輸資料,如果傳輸的是中文的話,那麼1箇中文佔用3個位元組,傳送的個數就需要針對性就行修改,不能簡單的使用FString::Len()進行個數計算,這裡給出一個計算個數的函式,
int32 CalcUtf8NumFromString(const FString & Str)
{
int32 result = 0;
for (int i = 0; i < Str.Len(); i++)
{
if (Str[i] <= 0x7f)
result = result + 1;
else if (Str[i] > 0x7f && Str[i] <= 0x07ff)
result = result + 2;
else if (Str[i] > 0x07ff && Str[i] <= 0xffff)
result = result + 3;
else
result = result + 4;
}
return result + 1;
}
相關文章
- Android Wifi熱點 資料傳輸Socket 通訊AndroidWiFi
- C# Socket 檔案傳送傳輸C#
- 在 Istio 中除錯 503 錯誤除錯
- php原生socket實現客戶端與服務端資料傳輸PHP客戶端服務端
- USB 控制寫傳輸、控制讀傳輸、無資料控制傳輸都是在什麼場景下?
- C++ 資料輸入cin (解決CLoin輸入中文程式出錯)C++
- python3 socket檔案傳輸Python
- 摒棄這兩個錯誤認知,警惕不安全的資料傳輸行為!
- Android開發 - “效驗和”效驗資料在傳輸或儲存過程中是否出錯解析Android儲存過程
- 解決java socket在傳輸漢字時出現截斷導致亂碼的問題Java
- -206 錯誤. 在表中找不到對應的資料欄位txt
- 專案部署時郵件傳送錯誤
- UE4 UDP是如何進行可靠傳輸的UDP
- 達夢資料庫關於[-70028]:建立SOCKET連線失敗的錯誤原因資料庫
- 探索SPI單線傳輸模式:時鐘線與資料傳輸的簡化之道模式
- 在silverlight中利用socket傳送圖片或檔案
- nodejs 介面傳輸資料NodeJS
- iOS資料傳輸工具iOS
- Angular路由——在路由時候傳遞資料Angular路由
- 談談資料傳輸中的安全性
- TCP中的資料是怎麼傳輸的?TCP
- 關於印度跨境資料傳輸,印度放寬了跨境資料傳輸
- python3中輸出錯誤怎麼辦?Python
- 鐳速傳輸流量版:隨時開啟企業大資料加速傳輸超能力大資料
- 網站資料庫連線時錯誤怎麼辦?網站資料庫
- 蘋果資料傳輸軟體:Apeaksoft iPhone Transfer for Mac 中文啟用版蘋果iPhoneMac
- 蘋果資料傳輸軟體:Apeaksoft iPhone Transfer for Mac v2.0.70中文啟用版蘋果iPhoneMac
- 傳送請求時,url 出現亂碼錯誤
- openGauss OCK加速資料傳輸
- iPaas資料傳輸的方式
- HDFSDATANODE資料傳輸詳解
- TCP傳輸資料長度TCP
- 特殊條件資料傳輸
- 讓資料傳輸更安全
- Bash-Insulter:一個在輸入錯誤命令時嘲諷使用者的指令碼指令碼
- 企業大資料傳輸方式,鐳速提供大資料傳輸解決方案大資料
- 檔案傳輸軟體在大資料安全中發揮了強大的作用大資料
- 技術分享 | 你通常選用什麼工具在 Linux 中進行資料傳輸?Linux