如何插入 ASCII 特殊字符(例如将 ASCII 值 0x01) 转换为字符串?

我问是因为我正在使用以下内容:

str.Replace( "<TAG1>", Convert.ToChar(0x01).ToString() );

我觉得一定有比这更好的方法。有任何想法吗?

更新:

另外,如果我使用这种方法,我是否需要担心 unicode 和 ASCII 冲突?

有帮助吗?

解决方案

我相信你可以使用 \uXXXX 将指定的代码插入到您的字符串中。

预计到达时间:我刚刚测试过它并且有效。:-)

using System;
class Uxxxx {
    public static void Main() {
        Console.WriteLine("\u20AC");
    }
}

其他提示

另外,如果我使用这种方法,我是否需要担心 unicode 和 ASCII 冲突?

你的第一个问题是你的标签与 ASCII 冲突。一旦到达TAG10,就会与0x0A发生冲突:换行。如果您确保永远不会获得超过九个标签,那么您应该是安全的。Unicode 编码(或者更确切地说:当字节值在 0 到 127 之间时,UTF8)与 ASCII 编码相同。它们仅在最高位被设置时有所不同。

我觉得必须有比这更好的方法。有任何想法吗?

看起来你好像正在尝试 使用文本工具操作二进制块. 。如果你想插入字节 0x01, ,例如,您不再操作文本,因为您不关心该字节是什么 可能 代表,因为看起来你甚至不关心你将输出哪种编码。

更好的方法是将您正在操作的内容视为二进制数据块,这将使您可以轻松插入位和字节,而无需使用脆弱的解决方法并担心副作用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top