簡體   English   中英

如何在C#中的字符串后面添加控制字符?

[英]How to append a control character to a string in c#?

我在這里看到了類似的答案,但我都不需要。

我試圖建立一個套接字確認,其中字符串消息以0B控制字符開頭,並且在事務結束時同時具有十六進制1C和十六進制0D

StringBuilder sb = new StringBuilder();
char b = '\u000b'; 
char c = '\u001c';
char d = '\u000d';
sb.Append(b);
sb.AppendLine(ackMessage);
sb.Append("MSA|AA|" + controlID);
sb.Append(c);
sb.Append(d);
string myMessage = sb.ToString();

消息的接收者在塊的開頭和結尾都看不到控制字符,而且我不確定我在哪里編碼錯誤。 任何幫助將不勝感激。 我不知道如何以正確的格式在此處復制代碼,因此請原諒此問題的格式;)

謝謝。

格雷格

.NET中的字符串和字符是Unicode。 您的消費者期望使用Unicode嗎? 也許您需要創建/傳遞ASCII字節數組呢?

    byte[] unicodeBytes = Encoding.Unicode.GetBytes(ackMessage);
    var asciiBytes = new List<byte>(ackMessage.Length + 3);
    asciiBytes.Add(0x0b);
    asciiBytes.AddRange(Encoding.Convert(Encoding.Unicode, Encoding.ASCII, unicodeBytes));
    asciiBytes.AddRange(new byte[] { 0x1c, 0x0d });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM