none
Записать 0xFF в файл. RRS feed

  • Вопрос

  • Имеется следующий код. Если я правильно понимаю, то конвертирующий hex string в ascii string. Все хорошо, пока не доходит до байта 0xff. При попытке записи в файл и последующего открытия его в шестнадцатиричном редакторе "FF" не присутствует. Из поиска стало известно, что oxff нельзя конвертировать в unicode. как эту дилемму обойти?

     // An object storing the hex value
          string HexValue = "3f3300ff3f";
          // An object storing the string value
          string StrValue = "";
          // While there's still something to convert in the hex string
          while (HexValue.Length > 0)
          {
            // Use ToChar() to convert each ASCII value (two hex digits) to the actual character
            string a = HexValue.Substring(0, 2);
            uint b = System.Convert.ToUInt32(a, 16);
            char c = System.Convert.ToChar(b); //  ? для 255
            string d = c.ToString();
            StrValue += d;
    //        StrValue += System.Convert.ToChar(System.Convert.ToUInt32(HexValue.Substring(0, 2), 16)).ToString();
            // Remove from the hex object the converted value
            HexValue = HexValue.Substring(2, HexValue.Length - 2);
          }
          // Show what we just converted
          Console.WriteLine(StrValue);
    

    • Перемещено Tagore Bandlamudi 1 октября 2010 г. 22:06 MSDN Forums consolidation (От:Visual C#)
    18 апреля 2010 г. 11:35

Ответы

  • А зачем нужно превращать байты превращать в стринговое значение? Не проще ли перевести в Byte и его уже писать с помощью FileStream?
    • Предложено в качестве ответа I.Vorontsov 6 мая 2010 г. 7:40
    • Помечено в качестве ответа I.Vorontsov 7 мая 2010 г. 6:07

Все ответы

  • А зачем нужно превращать байты превращать в стринговое значение? Не проще ли перевести в Byte и его уже писать с помощью FileStream?
    • Предложено в качестве ответа I.Vorontsov 6 мая 2010 г. 7:40
    • Помечено в качестве ответа I.Vorontsov 7 мая 2010 г. 6:07
  • А зачем нужно превращать байты превращать в стринговое значение?

    Поддерживаю. Прослеживается идея(автора кода) записи именно байтов, а не визуальных символов. Так тогда и надо формировать byte[].

    Не проще ли перевести в Byte и его уже писать с помощью FileStream?

    Или даже с помощью File.WriteAllBytes метод - просто и сердито, все телодвижения в одной строке.