Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/63: Рейтинг темы: голосов - 63, средняя оценка - 4.79
167 / 139 / 23
Регистрация: 02.01.2011
Сообщений: 913
1

Перевод HEX в строку

07.08.2012, 10:55. Показов 11466. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Мне тут очень помогли с переводом строки в Hex. Теперь что-то не получается обратная задача - надо преобразовать обратно, например, строку - "61" в строку - "a". Спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.08.2012, 10:55
Ответы с готовыми решениями:

Перевод HEX в IP
Здравствуйте пытаюсь перевести HEX строку в IP. Исходные данные hex = b93d8964 моя программа...

Перевод строки в HEX
Здравствуйте, объясните пожалуйста мне структуру Array. Задача была следующая, создать форму ...

Перевод Hex в Int64
Добрый день, у меня возникла проблема, от которой скоро начнется истерика. Суть: У меня есть TCP...

Перевод в HEX формат структуры
Здравствуйте, мне необходимо передать и принять через TCP данные, следующего вида struct...

8
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
07.08.2012, 11:02 2
всего один символ? а что тебе удалось нагуглить по hex2char c#? мне - вот такое:

C#
1
char ch = Convert.ToChar(Convert.ToInt32("61", 16));
0
713 / 680 / 126
Регистрация: 30.03.2012
Сообщений: 1,124
07.08.2012, 11:12 3
C#
1
string s = Convert.ToString(Convert.ToInt32("61"), 16);
и 61 в hex это 3D, а ни разу не А
0
167 / 139 / 23
Регистрация: 02.01.2011
Сообщений: 913
07.08.2012, 11:19  [ТС] 4
у меня не 1 символ , а строка на любом языке кроме англииского, включая цифры, например
C#
1
string s = ""D005""
0
713 / 680 / 126
Регистрация: 30.03.2012
Сообщений: 1,124
07.08.2012, 11:31 5
Цитата Сообщение от iva_a Посмотреть сообщение
у меня не 1 символ , а строка на любом языке кроме англииского, включая цифры, например
C#
1
string s = ""D005""
и чего вы с ней хотите делать?
вот вам строка на языке:
"абырвалг345" как вы ее хотите перевести и во что? потому что видите ли в hex нет буквы Л

судя по цитате выше - у вас уже есть строка состоящая из букв и цифр, а судя по вот этому:
Цитата Сообщение от iva_a Посмотреть сообщение
Мне тут очень помогли с переводом строки в Hex. Теперь что-то не получается обратная задача - надо преобразовать обратно, например, строку - "61" в строку - "a". Спасибо!
вам уже помогли перевести строку в hex, теперь вам надо получить из 61 (это может быть и dec-число) строку с буквами (например a) так откуда куда вам надо переводить? объясните понятнее

C#
1
2
            string s = Convert.ToString(Convert.ToInt32("61"), 16); // из dec в hex
            string ss = Convert.ToString(Convert.ToInt32("D12A", 16), 10); // из hex в dec
это перевод строк из dec в hex и наоборот, если вам нужно это - выберите из них
если вам нужно что то другое объясните подробнее, желательно со входными и выходными данными
0
167 / 139 / 23
Регистрация: 02.01.2011
Сообщений: 913
07.08.2012, 11:46  [ТС] 6
Tessen, спасибо, что отвечаете.Пользователь вводит строку комментариев на форме в datagridview. Если он ввел строку не на англииском, то я должна записать эту строку в определенныи фаил в hex
Пользователь ввел какую-то строку(str), а я ее записала в файл так
C#
1
2
3
4
5
6
7
8
9
 public string StringToHex(string str)
        {
            var sb = new StringBuilder();
 
            foreach (var bt in Encoding.Unicode.GetBytes(str))
                sb.AppendFormat("{0:X2}", bt);
 
 
            return sb.ToString();//вот это записываю в файл        }
Теперь мне надо загрузить данные из фаила на форму и пользователь должен увидеть нечто ему понятное(хоть французскии, хоть китайскии)
0
713 / 680 / 126
Регистрация: 30.03.2012
Сообщений: 1,124
07.08.2012, 12:19 7
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
        private void button1_Click(object sender, EventArgs e)
        {
            File.WriteAllText("h.txt", StringToHex(textBox1.Text), Encoding.Unicode);
        }
 
        public string StringToHex(string str)
        {
            var sb = new StringBuilder();
 
            foreach (var bt in Encoding.Unicode.GetBytes(str))
                sb.AppendFormat("{0:X2}", bt);
 
 
            return sb.ToString();
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            textBox1.Text = FromHex(File.ReadAllText("h.txt"));
        }
 
        public static string FromHex(string hex)
        {
            hex = hex.Replace("-", "");
            byte[] raw = new byte[hex.Length / 2];
            for (int i = 0; i < raw.Length; i++)
            {
                raw[i] = Convert.ToByte(hex.Substring(i * 2, 2), 16);
            }
            return Encoding.Unicode.GetString(raw);
        }
текстбокс соответственно на ячейку датагрид поменяете, я на нем проверял
1
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
07.08.2012, 12:23 8
если не секрет - откуда такой дизайн? как ты отличаешь английский от неанглийского? почему именно в hex? кто еще кроме твоего приложения использует этот файл и каким образом?
0
167 / 139 / 23
Регистрация: 02.01.2011
Сообщений: 913
07.08.2012, 12:30  [ТС] 9
Tessen , спасибо большое!!!!!!!!!!!!!!!

Добавлено через 3 минуты
novi4ok, англиискии от неанглииского отличаю так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
        public string GetLanguage(string str)
        {
            str = str.ToLower();
            byte[] b = System.Text.Encoding.GetEncoding(1251).GetBytes(str);
 
            string isenglish = "0";
            foreach (byte bt in b)
            {
                if ((bt >= 97) && (bt <= 122))  //97-a,122-z
                    isenglish = "0";
                else
                {
                    isenglish = "1";
                    return isenglish;
                }
            }
            return isenglish;
        }
А файлом, которыи я составляю, пользуются другие люди, которые и заказывают формат этого фаила(разработчики на Borland C, realtime)
0
07.08.2012, 12:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.08.2012, 12:30
Помогаю со студенческими работами здесь

перевод строки, содержащей hex данные
привет, ребят помогите решить проблему : имеется строка c hex данными, которые нужно перевести в...

Hex в строку
Здравствуйте, как можно сделать, что бы конвертировать hex в строку?

HEX строку в ASCII
Добрый день! Подскажите, по работе с COM портом, мне надо передавать символы по таблице ASCII,...

Преобразовать строку в hex
Подскажите пожалуйста! Как преобразовать строку TextBox-a в массив байтов? Ввожу в TextBox &quot;222222&quot;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru