代码之家  ›  专栏  ›  技术社区  ›  jp2code

如何使用ASCII数据分配字符?

  •  6
  • jp2code  · 技术社区  · 14 年前

    如何将ASCII字符存储到“char”文本中?

    我要用于特殊字符的ASCII字符是文件分隔符符号:

    十进制:028
    八进制:034
    十六进制:01C
    二进制:00011100

    // This works in C/C++, but not C#:
    static const char FS = 0x1C; // File Separator
    
    4 回复  |  直到 13 年前
        1
  •  5
  •   Marc Gravell    14 年前

    我想 '\u001C' 会起作用。

        2
  •  13
  •   ChaosPandion    14 年前

    静态修饰符不是必需的,您必须显式地将int强制转换为char。

    const char FS = (char)0x1C;
    
        3
  •  2
  •   Seva Alekseyev    14 年前

    const char fs='\x1c';

        4
  •  0
  •   Will Vousden    14 年前

    如果要将其写入流中,请注意编码。NET的字符和字符串是UTF-16编码的,因此实际上将被写入 001C (或) 1C00 取决于结尾;我不记得是哪一个)。您可以通过在打开流时指定适当的编码来避免此问题。

    编辑: 事实上,情况并非如此!刚测试过,默认行为 StreamWriter 等是使用系统当前的ANSI代码页(通常是ISO-8859-1),因此它实际上是以预期的8位格式编写的。当然,这会给非ANSI字符带来意想不到的结果。