Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2012, 18:52   #11
Katus
Форумчанин
 
Регистрация: 30.11.2011
Сообщений: 161
По умолчанию

Задание: перевести строку в 16ти ричное число))))
Если лень что-то делать, заставь это делать машину ... =,
Katus вне форума Ответить с цитированием
Старый 08.04.2012, 18:54   #12
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Всем лень искать ошибку в этом коде, ибо есть куча удобных готовых вариантов решения задачи К тому же в теме C#, а код почему-то С/С++.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 08.04.2012, 18:55   #13
Katus
Форумчанин
 
Регистрация: 30.11.2011
Сообщений: 161
По умолчанию

синтаксис один и тот же почти))
Если лень что-то делать, заставь это делать машину ... =,
Katus вне форума Ответить с цитированием
Старый 08.04.2012, 19:35   #14
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
синтаксис один и тот же почти))
функции совсем другие, да и разница в синтаксисе есть.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.04.2012, 21:16   #15
Katus
Форумчанин
 
Регистрация: 30.11.2011
Сообщений: 161
По умолчанию

печально...
Если лень что-то делать, заставь это делать машину ... =,
Katus вне форума Ответить с цитированием
Старый 08.04.2012, 21:19   #16
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А вы что вообще сделать-то хотите? Может быть эта статья пригодится? http://www.gunsmoker.ru/2008/10/x-y-z.html
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 09.04.2012, 13:43   #17
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

если (ВДРУГ) автору темы ДЕЙСТВИТЕЛЬНО нужен C# (в чём я, конечно, сильно сомневаюсь), или если кто-то в разделе C# найдёт эту тему поиском, то выкладываю эксперименты (часть взята прямо с данного форума) на данную тему:
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Globalization;

namespace ConsoleApplication1
{
    class Program
    {
        static private string HexToStr(string sIn)
        {
            var sb = new System.Text.StringBuilder();
            string[] sArr = sIn.Split(new char[1] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            sb.Append(string.Join("",sArr.Select(b => ((char)(Convert.ToSByte(b,16))).ToString()).ToArray()));
            return sb.ToString();
        }

        static private string StrToHex(string sIn)
        {
            var sb = new System.Text.StringBuilder();
            sb.Append(string.Join(" ", sIn.ToCharArray().Select(b => ((int)b).ToString("X")).ToArray()));
            return sb.ToString();
        }

        private void StrToHex3(String sIn)
        {
            string ss = "";
            /*  foreach (byte b in UTF8Encoding.Convert(Encoding.UTF8, Encoding.GetEncoding(1251), sIn.ToCharArray) // ASCIIEncoding.ASCII.GetBytes(sIn))
                ss += b > 15 ? String.Format("{0:X} ", b) : String.Format("0{0:X} ", b);
             */
        }

        static private string StrToHexRus(string sIn)
        {
            // Create a UTF-8 encoding.
            UTF8Encoding utf8 = new UTF8Encoding();
            Byte[] encodedBytes = utf8.GetBytes( sIn );
            encodedBytes = UTF8Encoding.Convert(Encoding.UTF8, Encoding.GetEncoding(1251), encodedBytes);

            string sResult = "";
            foreach (Byte b in encodedBytes)
            {
                sResult += b > 15 ? String.Format("{0:X} ", b) : String.Format("0{0:X} ", b); 
            }
            return sResult;
        }

        // перевод из строки с HEX кодами в строку (кодировка символов в HEX строке - 1251)
        static private string HexToStr1251(string sIn)
        {
            char[] separators = new char[1] { ' ' };
            string[] chars = sIn.Split(separators, StringSplitOptions.RemoveEmptyEntries);
            byte[] bytes = new byte[chars.Length];
            for (int i = 0; i < chars.Length; i++)
            {
                bytes[i] = byte.Parse(chars[i], NumberStyles.AllowHexSpecifier);
            }
            return Encoding.GetEncoding(1251).GetString(bytes);
        }

        static void Main(string[] args)
        {
            string s0  = "012BAPC";
            Console.WriteLine(String.Format("Исходная строка: {0}", s0));

            string sb = StrToHex(s0);

            Console.WriteLine("в HEX = " + sb);

            Console.WriteLine("из HEX'а = " + HexToStr( sb.ToString() ));

            // Create a UTF-8 encoding.
            UTF8Encoding utf8 = new UTF8Encoding();

            // A Unicode string with two characters outside an 8-bit code range.
            String unicodeString =
                "INF This unicode string contains two characters with codes outside an 8-bit code range, " +
                "Pi (\u03a0) and Sigma (\u03a3). ну и русский текст тоже есть! Слово.";
            Console.WriteLine("Original string:");
            Console.WriteLine(unicodeString);

            // Encode the string.
            Byte[] encodedBytes = utf8.GetBytes(unicodeString);
            Console.WriteLine();
            Console.WriteLine("Encoded bytes:");
            foreach (Byte b in encodedBytes)
            {
                Console.Write("[{0:X}]", b);
            }
            Console.WriteLine();

            encodedBytes = UTF8Encoding.Convert(Encoding.UTF8, Encoding.GetEncoding(1251), encodedBytes);
            Console.WriteLine("перекодированные байты:");
            foreach (Byte b in encodedBytes)
            {
                Console.Write("[{0:X}]", b);
            }
            Console.WriteLine();

            Console.WriteLine();
            string st1 = "INFO Test: Слово";

            string encodeS = StrToHexRus(st1);

            Console.WriteLine(st1 + " " + encodeS);

            encodeS = "99 88 89 FE EE E4 E5";  // для пробы
            Console.WriteLine("decode: " + HexToStr1251(encodeS));

          //    for (int line = 0; line < bytes.Length; line += 16)
          //    {
          //        byte[] lineBytes = bytes.Skip(line).Take(16).ToArray();
          //        sb.AppendFormat("{0:x8} ", line);
          //        sb.Append(string.Join(" ", lineBytes.Select(b => b.ToString("x2")).ToArray()).PadRight(16 * 3));

            Console.WriteLine("Press Enter for continue...");
            Console.ReadLine();
        }
    }
}

p.s. просьба меня в явные глупости в коде носом не тыкать. баловался я...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двухзначное число int записать как пару однозначных int (c++) narien Помощь студентам 2 08.01.2012 15:10
Функция Int 1Ah BIOSа EugenK Помощь студентам 2 02.08.2011 21:15
функция float average(int arrray[],int from,int to) yuliyayuliya Помощь студентам 0 25.04.2011 21:55
С++:invalid types 'int[int]' for array subscript greendoom Помощь студентам 0 19.03.2011 16:53
конвертирование Hex -> Text и Float -> Int NikOnLine Общие вопросы Delphi 13 22.12.2007 23:11