С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
1 / 1 / 1
Регистрация: 12.10.2015
Сообщений: 207

Как перевести строку с 16-ричной записью символа юникода в сам символ

30.10.2015, 14:30. Показов 4153. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как перевести строку с 16-ричной записью символа юникода в сам символ?
т.е. на входе есть string s1="90b73447769de4400800000010c7e0f8f3ec ebe5ededeef1f2fc20f1e8000000000000000000 000000

а на выходе нужно получить string s2="Зашумленность"
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.10.2015, 14:30
Ответы с готовыми решениями:

По коду символа получить сам символ
как по коду символа получить сам символ? например есть символ 'a' с помощью команды Ord узнаем его целочисленный код, как по этому коду...

Ошибка (записывается код символа, а не сам символ)
есть строка символов (принял из EditBox) CString str; const char *strС; strС=(const char*) str; нужно число преобразовать...

По коду символа в переменную поместить сам символ
Здравствуйте. Мне необходимо написать 2 программы на ассемблерных вставках: 1)Даны две переменных cod (тип byte) и c (тип char).В...

9
 Аватар для BroDMax
157 / 156 / 104
Регистрация: 01.10.2015
Сообщений: 310
30.10.2015, 15:04
SVD102, откуда взята такая последовательность?
Слово "Зашумленность" в кодировке Unicode выглядит следующим образом:
Code
1
17 04 30 04 48 04 43 04 3c 04 3b 04 35 04 3d 04 3d 04 3e 04 41 04 42 04 4c 04
0
1 / 1 / 1
Регистрация: 12.10.2015
Сообщений: 207
30.10.2015, 15:16  [ТС]
В прикрепленом файле посмотрите.
Миниатюры
Как перевести строку с 16-ричной записью символа юникода в сам символ  
0
1 / 1 / 1
Регистрация: 12.10.2015
Сообщений: 207
30.10.2015, 15:18  [ТС]
тут
Миниатюры
Как перевести строку с 16-ричной записью символа юникода в сам символ  
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18250 / 14174 / 5366
Регистрация: 17.03.2014
Сообщений: 28,850
Записей в блоге: 1
30.10.2015, 17:11
SVD102, это не похоже на Unicode. Кодировка windows-1251 подошла, с той оговоркой что перед текстом "Зашумленность си" там идет мусор. Откуда эта строка берется?

Декодировщик
C#
1
2
3
4
5
6
7
string s1 = "90b73447769de4400800000010c7e0f8f3ecebe5ededeef1f2fc20f1e8000000000000000000000000";
byte[] buf = new byte[s1.Length/2];
for (int i=0; i<s1.Length; i+=2)
{
    buf[i/2] = Convert.ToByte(s1.Substring(i,2), 16);
}
string s2 = Encoding.GetEncoding("windows-1251").GetString(buf);


Добавлено через 1 минуту
SVD102, раз ты читаешь побайтово некий *.rpt файл, то для получения корректного результата нужно знать формат этого файла.

Добавлено через 1 час 40 минут
и, кстати говоря, при чтении подобного файла на входе у тебя будет массив байтов, а не строка из чисел в 16й форме.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
30.10.2015, 19:01
SVD102, на скриншоте же видно, что строка начинается с "c7e0f8..."
0
1 / 1 / 1
Регистрация: 12.10.2015
Сообщений: 207
02.11.2015, 07:22  [ТС]
Я прикрепил 2 файла, посмотрите пожалуйста. Как мне лучше будет считать данные с файла побайтно или другим способом. В дальнейшем мне надо будет построить графики, используя эти данные. И еще, как узнать какая кодировка используется в файле?a
Вложения
Тип файла: zip rpt.zip (1.16 Мб, 4 просмотров)
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
02.11.2015, 12:42
SVD102, Никак. Можно только угадать попытаться, для этого есть специальные библиотечки. Но и они это делают с некоторой долей уверенности в ответе
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18250 / 14174 / 5366
Регистрация: 17.03.2014
Сообщений: 28,850
Записей в блоге: 1
02.11.2015, 13:02
SVD102, берешь класс BinaryReader и читаешь. Вот код который читает информацию об этапах. Остальные данные прочитаешь по аналогии. Кстати в документации похоже ошибка. Там сказано что название этапа занимает 64 байта, когда на самом деле там 72. Мой код эти 8 байтов пропускает, но возможно их нужно считать частью строки. Также обрати внимание что перед строками записывается их длина.
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
32
33
34
35
36
37
using (var fstream = File.OpenRead(@"C:\reports\03_08_2015 12_31_23#01.rpt"))
using (var reader = new BinaryReader(fstream))
{
    int etCnt = reader.ReadInt32();
    Et[] ets = new Et[etCnt];
    for (int i=0; i<etCnt; i++)
    {
        ets[i] = ReadEt(reader);
    }
}
 
// ...
static Et ReadEt(BinaryReader reader)
{
    double binDate = reader.ReadDouble();
    DateTime date = DateTime.FromOADate(binDate);
    
    byte[] binName = reader.ReadBytes(64);
    string name = Encoding.GetEncoding(1251).GetString(binName, 1, binName[0]);
    
    // Пропускаем 8 байтов т.к. в документации похоже ошибка
    reader.BaseStream.Position += 8;
    
    return new Et(date, name);
}
 
struct Et
{
    public DateTime DateAndTime;
    public string Name;
    
    public Et(DateTime dateAndTime, string name)
    {
        DateAndTime = dateAndTime;
        Name = name;
    }
}
1
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
02.11.2015, 13:04
SVD102, поправка, если формат файла неизвестен, то никак. Если известен (и это *.rpt), то да, в документации все будет написано (выше ответили).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.11.2015, 13:04
Помогаю со студенческими работами здесь

Заменить в строке обозначение символа с заданным кодом на сам символ
Помогите, пожалуйста... Срочно надо лабу сдать. Заменить в строке принятое в Си обозначение символа с заданным кодом (например, \101) на...

Как ввести символ Юникода с клавиатуры
Захотел ввести символ галочки с клавиатуры. Зашел на на этот сайт, чтобы код узнать. Символы с нулем не могу ввести, просто печатаются ноль...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru