2011-10-06 109 views
2

我有一個C#應用程序,其中我試圖做一個字符串,將包含接近結束\ 0。 我沒有設法做到這一點。
我所做的:NET C#特殊字符

string msg = "GGGG..8"; 
byte []b = System.Text.encoding.GetBytes(msg); 

但在b,其中「..」是表示是46而不是00 我想要的,而不是..有\ 0 \ 0
的最終目標是讓字符串包含消息。

+0

您的代碼將無法編譯,因爲「System.Text。 encoding.GetBytes(msg)「無效。 *您正在使用哪種編碼? –

回答

5

創建適當的字符串很簡單:

string msg = "GGGG\0\08"; 

目前尚不清楚你想要什麼編碼在第二行中使用,但我期望大多數單字節編碼將'\ 0'編碼爲0字節。

如果你想採取一種消息,原本包括時間,並將其轉換爲「\ 0」字,那是太容易了:

string msg = "GGGG..8"; 
string replaced = msg.Replace('.', '\0'); 
+0

謝謝,我在那個角色和轉換和ascii問題上很糟糕。你知道一個很好的參考來理解嗎? –

+1

目前尚不清楚*確切*您感興趣的內容。關於字符串的文章*可能會幫助您:http://csharpindepth.com/Articles/General/Strings.aspx –

+0

Thnaks for the article,I ment when using unicode when轉換?當它以UTF7或8等編碼時。 –

0

這應該工作:

string msg = "GGGG..8\0"; 

如果沒有運氣,試試這個:

string msg = "GGGG..8" + '\0'; 
+0

對不起,我想替代.. \ 0 \ 0 –

+0

我認爲在這種情況下,「最終」意味着「最終」,而不是「在字符串的末尾」。 –

+0

是的,但我也寫了它重複\ 0並作了一個例子,但我會改變它 –