如果通訊中產生了\\u4e00-\\u9fa5範圍的中文的unicode**,而不是\u4e00-\u9fa5範圍的,那麼c#的處理就比較麻煩了。
它會把\\u4e00拆成部分來識別: \\ u4e00 , 神奇的是這種情況下,它會認為 u4e000是乙個整體。
正規表示式需要如此書寫: "[\\\\4e00-\\\\u9fa5]" , it works!!!雖然是兩個部分。
但問題是介面(winform)上顯示的就是unicode了,這個時候為了讓我們ui能夠正常顯示漢字,需要將\\替換為\。
貌似乙個replace就能搞定,非也!
方式1:
"\\" -> \ 字元
"\" -> 報錯。此路不通。
方式2:
這個是南轅北轍。
方式3:
自定義乙個演算法,來完成\\到\的轉換。
思路:每個字元,實際在計算機中是乙個數字。
比如 '1' ,對應的ascii碼是49.對於漢字,有gb2312碼,歸根到底還是乙個數字。乙個漢字對應乙個數字(通常表示的時候用16進製表示)
只要計算出,比如 \\u4e00的數字值(19968), 並將之對應到漢字即可。也就是
char hz = (char)0x4e00
接下來的問題是將"\\u4e00"變成0x4e00,**如下:
#region 處理中文/// /// \\u4e00-\\u9fa5 ->\u4e00-\u9fa5
///
///
///
protected static string process_cn(string val)}}
return ret;
}/// /// char -> string
/// 自帶的報引數錯誤(new string/string(char))
///
///
///
protected static string tostring(char c)
/// /// (0x)660e -> 26126
///
///
///
protected static int parseint(char c)
return n;
}/// /// (char)0~9a~za~z -> (int)0~15
///
///
///
protected static int parseint(char c)
;char arr2 = new char ;
for (int i = 0; i < arr1.length; i++)
for (int i = 0; i < arr2.length; i++)
return -1;
}#endregion
通訊中的backhaul
backhaul 可以翻譯成回程,也叫回程線路 在現有的無線通訊中,backhaul指的是基站和基站控制器之間的鏈結 一般使用者先接入基站,基站再與基站控制器通訊,然後進入核心網 在無線技術中,回程 backhaul 指的是從信元站點向交換機傳送語音和資料流量的功能。在衛星通訊中,回程是指衛星向自身...
通訊中的「交織」技術
在陸地移動通訊這種變參通道上,位元差錯經常是成串發生的。這是由於持續較長的深衰落谷點會影響到相繼一串的位元。然而,通道編碼僅在檢測和校正單個差錯和不太長的差錯串時才有效。為了解決這一問題,希望能找到把一條訊息中的相繼位元分散開的方法,即一條訊息中的相繼位元以非相繼方式被傳送。這樣,在傳輸過程中即使發...
DSP在通訊中的應用
在當前的dsp市場上,通訊裝置是其最大的使用者,以下是其中的幾個例子 1 數字式蜂房系統 數字式蜂房系統使用通用dsp來實現語音合成 speech synthesis 糾錯編碼 error correction coding 基帶數據機 baseband modem 以及系統控制等功能。a.語音合成...