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

如何从c中的ASCII字符代码中获取字符#

  •  57
  • Jimbo  · 技术社区  · 15 年前

    我正在尝试解析一个C#文件,该文件的字段(字符串)数组由ASCII字符代码0、1和2分隔(在Visual Basic 6中,可以使用Chr(0)或Chr(1)等生成这些数组)

    我知道对于C中的字符代码0,可以执行以下操作:

    char separator = '\0';
    

    3 回复  |  直到 4 年前
        1
  •  152
  •   Jon Skeet    15 年前

    两种选择:

    char c1 = '\u0001';
    char c1 = (char) 1;
    
        2
  •  38
  •   Pavel Morshenyuk    15 年前

    char c = (char) 2;
    

    char c = Convert.ToChar(2);
    

    或更复杂的选项,仅用于ASCII编码

    char[] characters = System.Text.Encoding.ASCII.GetChars(new byte[]{2});
    char c = characters[0];
    
        3
  •  24
  •   shA.t Rami Jamleh    6 年前

    需要注意的是,在C#中 类型存储为Unicode UTF-16。

    从ASCII等效整数到字符

    char c = (char)88;
    

    char c = Convert.ToChar(88)
    

    从char到ASCII等价整数

    int asciiCode = (int)'A';
    

    文字必须是ASCII等效的。例如:

    string str = "Xสีน้ำเงิน";
    Console.WriteLine((int)str[0]);
    Console.WriteLine((int)str[1]);
    

    将打印

    X
    3626
    

    扩展ASCII范围从0到255。

    从默认的UTF-16文字到字符

    使用符号

    char c = 'X';
    

    使用Unicode代码

    char c = '\u0058';
    

    使用十六进制

    char c = '\x0058';