跪求讲解
我用char 类型存储255
写到文件中为什么显示0x3f,正常应该是0xff的,难道是越界了吗?

解决方案 »

  1.   

    string TblStr = @"c:\\temp\\temp.dat";
    FileStream fs = new FileStream(TblStr, FileMode.Open);//读取的时候是这样
    BinaryReader br = new BinaryReader(fs, Encoding.Default);
    //现在问题是怎么读能把二进制文件里的FF FF FF FF读成字符串的FFFFFFFF
    int i = br.ReadInt32();// 读数字类型
    Console.WriteLine(i.ToString("X8"));
    br.Close();
    fs.Close();
      

  2.   

    char最大是0x7f吧。
    用byte类型试试?
      

  3.   

    存储数据到文件,file.Write(type para);
    我想存到里面是16进制的,比如65535 存到文件中就是0000ffff,应该怎么实现呢?
    本来是用char 类型的,可是存的却是00003f3f。
      

  4.   

    http://topic.csdn.net/t/20060112/11/4512432.html
      

  5.   

    0xff 换成10进制都是272了哟
      

  6.   

    int value; value = 0x2045e;
    Console.WriteLine(value.ToString("x"));
    // Displays 2045e
    Console.WriteLine(value.ToString("X"));
    // Displays 2045E
    Console.WriteLine(value.ToString("X8"));
    // Displays 0002045Evalue = 123456789;
    Console.WriteLine(value.ToString("X"));
    // Displays 75BCD15
    Console.WriteLine(value.ToString("X2"));
    // Displays 75BCD15
      

  7.   

    char型可以存储0~65535之间的整数啊,怎么会溢出呢?
      

  8.   

    char:范围 U+0000 到 U+ffff ,大小 16 位 Unicode 字符,.NET Framework 类型 System.Char
    因此不会溢出,但你给的代码是读取的代码,也没有用到char,你写入的代码呢?
      

  9.   

    char
    U+0000 到 U+ffff
    16 位 Unicode 字符
    用byte[]