How to get a Char from an ASCII Character Code in c#

前端 未结 3 636
盖世英雄少女心
盖世英雄少女心 2020-12-09 14:31

Im trying to parse a file in c# that has field (string) arrays separated by ascii character codes 0, 1 and 2 (in Visual Basic 6 you can generate these by using Chr(0) or Chr

相关标签:
3条回答
  • 2020-12-09 14:53

    Two options:

    char c1 = '\u0001';
    char c1 = (char) 1;
    
    0 讨论(0)
  • 2020-12-09 15:05

    It is important to notice that in C# the char type is stored as Unicode UTF-16.

    From ASCII equivalent integer to char

    char c = (char)88;
    

    or

    char c = Convert.ToChar(88)
    

    From char to ASCII equivalent integer

    int asciiCode = (int)'A';
    

    The literal must be ASCII equivalent. For example:

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

    will print

    X
    3626
    

    Extended ASCII ranges from 0 to 255.

    From default UTF-16 literal to char

    Using the Symbol

    char c = 'X';
    

    Using the Unicode code

    char c = '\u0058';
    

    Using the Hexadecimal

    char c = '\x0058';
    
    0 讨论(0)
  • 2020-12-09 15:09

    You can simply write:

    char c = (char) 2;
    

    or

    char c = Convert.ToChar(2);
    

    or more complex option for ASCII encoding only

    char[] characters = System.Text.Encoding.ASCII.GetChars(new byte[]{2});
    char c = characters[0];
    
    0 讨论(0)
提交回复
热议问题