如何将ASCII特殊字符(例如ASCII值为0x01)插入字符串?
我问,因为我使用以下内容:
str.Replace( "<TAG1>", Convert.ToChar(0x01).ToString() );
我觉得必须有比这更好的方法。任何想法?
更新
另外如果我使用这种方法,我是否需要担心unicode&amp; ASCII冲突?
答案 0 :(得分:6)
我相信您可以使用\uXXXX
在字符串中插入指定的代码。
ETA:我刚刚测试过它并且有效。 : - )
using System;
class Uxxxx {
public static void Main() {
Console.WriteLine("\u20AC");
}
}
答案 1 :(得分:1)
另外如果我使用这种方法,我是否需要担心unicode&amp; ASCII冲突?
你的第一个问题是你的标签与ASCII发生冲突。一旦你到达TAG10,你将与0x0A:换行冲突。如果您确保永远不会超过九个标签,那么您应该是安全的。当字节值介于0和127之间时,Unicode编码(或者更确切地说:UTF8)与ASCII编码相同。它们仅在设置了顶部位时才有所不同。
答案 2 :(得分:1)
我觉得必须有更好的 比这个方式。任何想法?
看起来您正在尝试使用文本工具来操纵二进制块。例如,如果要插入字节0x01
,则不再操纵文本,因为您不关心可能所代表的字节,因为它看起来像你不喜欢甚至不关心你将输出哪种编码。
更好的方法是将您正在操作的事物视为二进制数据块,这样可以轻松地插入位和字节,而无需使用脆弱的变通方法并担心副作用。