2015-02-12 45 views
-2
var x = Label3.Text; 
var y = x.Split('Alt+255'); 
Label4.Text = y[0]; 

我在文本中有Ascii 255如何在C#中分割。如何在C#中用Ascii 255分割字符串?

在此先感謝

+2

ASCII是7位......如果數值大於127,則不處理ASCII。 – dandan78 2015-02-12 07:36:08

+3

var y = x.Split('\ u00FF'); – Mormegil 2015-02-12 07:36:36

+0

不工作是否有任何標準語法做與ASCII碼組合分號 – 2015-02-12 07:39:44

回答

-2
string[] splitted = x.Split('+'); 
+0

它不起作用 – 2015-02-12 07:37:30

+0

那麼,你的輸入是什麼,你的期望輸出是什麼? – 2015-02-12 08:43:33

2

正如其他人評論說,ASCII是7位編碼標準,所以在技術上是沒有這樣的東西ASCII 255。但是,我相信正是你所描述的是一些一種包含ASCII字符的字節流,由字節255(十六進制中的0xff)分隔。

將數據轉換爲字符串後,各個字符以UTF-16格式表示;一種可以容納完整Unicode字符集的多字節格式。

要定義一個不可打印的字符文字,您需要使用\x轉義序列。所以255變成了\x00ff

試試這個:

var y = x.Split('\x00ff'); 
+1

['String.Split()'](https://msdn.microsoft.com/en-us/library/b873y76a.aspx)需要'params char []',不需要手動構建數組。 – Mormegil 2015-02-12 10:15:44

+0

有時我會因爲無法看到明顯的東西而驚歎自己!謝謝,@Mormegil。我會更新我的答案。 – 2015-02-12 15:37:03

-1
String s = " "; 
      var bytes = Encoding.GetEncoding("Windows-1252").GetBytes(s); 
      string binStr = string.Join("", bytes.Select(b => Convert.ToString(b, 2))); 
      int decimalEquivalent = Convert.ToInt32(binStr, 2); 
      var y = x.Split((char)decimalEquivalent); 

我做到這一點,它解決了myproblems謝謝你們的迴應。

+1

不要採取這種錯誤的方式,但這看起來像一個瘋狂的代碼和複雜性來確定一個字符。是真的一個空間,如這裏所示,或必須使用鍵盤輸入Alt-255? – 2015-02-12 15:34:11

+0

@Steve是否有任何標準語法來使分割函數與Alt-255或任何其他Ascii字符 – 2015-02-13 09:18:23