web-dev-qa-db-ja.com

C#でASCII文字コードからCharを取得する方法

ASCII文字コード0、1、2で区切られたフィールド(文字列)配列を持つc#でファイルを解析しようとしています(Visual Basic 6では、Chr(0)またはChr(1)などを使用してこれらを生成できます)。

C#の文字コード0では、次のことができることを知っています。

char separator = '\0';

しかし、これは文字コード1と2では機能しませんか?

63
Jimbo

2つのオプション:

char c1 = '\u0001';
char c1 = (char) 1;
127
Jon Skeet

あなたは簡単に書くことができます:

char c = (char) 2;

または

char c = Convert.ToChar(2);

ASCIIエンコードのみのより複雑なオプション

char[] characters = System.Text.Encoding.ASCII.GetChars(new byte[]{2});
char c = characters[0];
34

C#では、charタイプがUnicode UTF-16として保存されることに注意することが重要です。

ASCII同等の整数からchar

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へ

シンボルの使用

char c = 'X';

Unicodeコードを使用する

char c = '\u0058';

16進数の使用

char c = '\x0058';
13
Carlos Caldas