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

时间:2010-01-06 21:41:41

标签: c# char ascii

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

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

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

// This works in C/C++, but not C#:
static const char FS = 0x1C; // File Separator

4 个答案:

答案 0 :(得分:13)

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

const char FS = (char)0x1C;

答案 1 :(得分:5)

我认为'\u001C'会起作用。

答案 2 :(得分:2)

const char FS ='\ x1C';

答案 3 :(得分:0)

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

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