UTF8 ASCII Latin1轉換問題

2021-07-10 09:51:20 字數 606 閱讀 1019

昨天遇到乙個中文亂碼問題,發給伺服器的中文字串使用latin1進行encoding後資料會丟失。查了很多文章都是讓伺服器使用utf8,這裡介紹一種客戶端的解決方法。

首先對中文字串格式化輸出成2位十六進製制字元,然後將這些字元組成string,新的string使用latin1進行encoding就不會發生資料丟失的問題了。解碼的使用逆向處理所收到的資料就可以了。由於之前**已經寫了很多,許多地方使用了中文,一一修改過於繁瑣,所以最終我們在讀寫網路資料的string型別過載函式做了一些操作,將文字進行編碼與解碼。由於伺服器傳送的ip位址之類的也會使用到string型別,所以最終我們之對傳送過來的帶中文的字串進行編碼與解碼。

public enum ecode

編碼部分:只要有中文就進行編碼

解碼部分:對於編碼的字串進行解碼,不過有乙個問題,只要能通過正則匹配的都會解碼,可以按需求調整下

public string decodeconvert(ecode code, string text)

length /= 2;

for (int i = 0; i < length; i++)

switch (code)

}return text;

}

utf 8 UTF 8 utf8 在使用中的區別

utf 8 是標準寫法,php在windows下邊英文不區分大小寫,所以也可以寫成 utf 8 utf 8 也可以把中間的 省略,寫成 utf8 一般程式都能識別,但也有例外 如下文 為了嚴格一點,最好用標準的大寫 utf 8 在資料庫中只能使用 utf8 mysql 在mysql的命令模式中只能使...

utf8 utf 8和UTF 8有什麼區別

utf 8 是標準寫法,在windows下邊英文不區分大小寫,所以也可以寫成 utf 8 utf 8 也可以把中間的 省略,寫成 utf8 一般程式都能識別,但也有例外 如下文 為了嚴格一點,最好用標準的大寫 utf 8 b 在mysql資料庫中只能使用 utf8 b 在mysql的命令模式中只能使...

網頁utf 8亂碼 utf8亂碼

複製 在前 在windows作業系統上使用ie作為瀏覽器時。常常會發生這樣的問題 在瀏覽使用utf 8編碼的網頁時,瀏覽器無法自動偵測 即沒有設定 自動選擇 編碼格式時 該頁面所用的編碼。即使網頁已經宣告過編碼格式 由此造成某些含有中文utf 8編碼的頁面產生空白輸出。由於utf 8為3個位元組表示...