代码之家  ›  专栏  ›  技术社区  ›  TK.

C#字符串ASCII表示

  •  2
  • TK.  · 技术社区  · 17 年前

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

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

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

    我觉得一定有比这更好的办法。有什么想法吗?

    更新:

    此外,如果我使用这种方法,我需要担心unicode&ASCII冲突?

    3 回复  |  直到 17 年前
        1
  •  6
  •   C. K. Young    17 年前

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

    埃塔:我刚刚测试过,它工作正常。 :-)

    using System;
    class Uxxxx {
        public static void Main() {
            Console.WriteLine("\u20AC");
        }
    }
    
        2
  •  1
  •   Rasmus Faber    17 年前

    此外,如果我使用这种方法,我需要担心unicode&ASCII冲突?

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

        3
  •  1
  •   bzlm    16 年前

    我觉得一定有更好的 方式比这。有什么想法吗?

    看起来你好像在努力 使用文本工具操作二进制块 。如果你想插入字节 0x01 例如,你不再操纵文本,因为你不在乎那个字节是什么 可能 表示,因为它看起来你甚至不在乎你将输出哪种编码。

    更好的方法是将您正在操作的东西视为二进制数据块,这将使您能够轻松插入位和字节,而无需使用脆弱的解决方法,也不必担心副作用。

    推荐文章