Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Общие темы > Загадки

Загадки Постим и отгадываем загадки. Флуд запрещён - только условия и обсуждение решений.

Ответ
 
Опции темы
Старый 05.04.2011, 22:32   #1
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Задачка - байты и текст

Это скорее задачка, а не загадка.
Рассчитана на тех кто интересуется работы с текстом, конвертация в другие типы данных, используя разные кодировками и криптование.
Далее будет усложнятся, и использоваться не только кодировка, но и криптование.

Первый Текст
Используется UTF16 (Unicode) кодировка. То есть, 16 бит на символ. Нужно преобразовать последовательность цифр в виде длинной строки, в текст используя данные о кодировки.
Выведите текст который "хранится" за этими числами.

Перечисленные цифры для расшифровывания:
1069 1092 1092 1077 1082 1090 32 1044 1072 1085 1085 1080 1085 1075 1072 45 1050 1088 1102 1075 1077 1088 1072 32 8212 32 1082 1086 1075 1085 1080 1090 1080 1074 1085 1086 1077 32 1080 1089 1082 1072 1078 1077 1085 1080 1077 44 32 1082 1086 1090 1086 1088 1086 1077 32 1079 1072 1082 1083 1102 1095 1072 1077 1090 1089 1103 32 1074 32 1090 1086 1084 44 32 1095 1090 1086 32 171 1083 1102 1076 1080 44 32 1080 1084 1077 1102 1097 1080 1077 32 1085 1080 1079 1082 1080 1081 32 1091 1088 1086 1074 1077 1085 1100 32 1082 1074 1072 1083 1080 1092 1080 1082 1072 1094 1080 1080 44 32 1076 1077 1083 1072 1102 1090 32 1086 1096 1080 1073 1086 1095 1085 1099 1077 32 1074 1099 1074 1086 1076 1099 32 1080 32 1087 1088 1080 1085 1080 1084 1072 1102 1090 32 1085 1077 1091 1076 1072 1095 1085 1099 1077 32 1088 1077 1096 1077 1085 1080 1103 44 32 1085 1086 32 1085 1077 32 1089 1087 1086 1089 1086 1073 1085 1099 32 1086 1089 1086 1079 1085 1072 1074 1072 1090 1100 32 1089 1074 1086 1080 32 1086 1096 1080 1073 1082 1080 32 1074 32 1089 1080 1083 1091 32 1089 1074 1086 1077 1075 1086 32 1085 1080 1079 1082 1086 1075 1086 32 1091 1088 1086 1074 1085 1103 32 1082 1074 1072 1083 1080 1092 1080 1082 1072 1094 1080 1080 187


Мой вариант функции расшифровывания на C#:
private string Decode (string source) {
    string[] numbers = source.Split(' ');
    byte[] bytes = new byte[numbers.Length*2];

    for (int i=0;i<numbers.Length;++i) {
        byte[] pair = BitConverter.GetBytes((short)int.Parse(numbers[i]));
        bytes[i*2]   = pair[0];
        bytes[i*2+1] = pair[1];
    }

    return UnicodeEncoding.Unicode.GetString(bytes);
}

Последний раз редактировалось moka, 06.04.2011 в 03:51.
(Offline)
 
Ответить с цитированием
Старый 05.04.2011, 23:54   #2
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Задачка - байты и текст


Паучоке Петрович тоже так умеет кодить == )
return imperCoolFuncCollection::INTERF().SuperDecode(string source);
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо impersonalis за это полезное сообщение:
Dream (01.05.2011), ingko (06.04.2011)
Старый 06.04.2011, 00:58   #3
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Ответ: Задачка - байты и текст

хм.. Мока, я функу не тестил но чет бросается в глаза - по условию задачи ютф16, а в коде в ретурне используется ютф8 судя по названию класса !! Но если работант то ок !!
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
moka (06.04.2011)
Старый 06.04.2011, 03:50   #4
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Задачка - байты и текст

Сообщение от IGR Посмотреть сообщение
хм.. Мока, я функу не тестил но чет бросается в глаза - по условию задачи ютф16, а в коде в ретурне используется ютф8 судя по названию класса !! Но если работант то ок !!
Там просто доступ к интерфейсу Unicode из других энкодеров, поправил функцию.
(Offline)
 
Ответить с цитированием
Старый 06.04.2017, 14:13   #5
Phantom
Элита
 
Аватар для Phantom
 
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений
(для 1,833 пользователей)
Ответ: Задачка - байты и текст

А где продолжение?
(Offline)
 
Ответить с цитированием
Старый 09.04.2017, 01:35   #6
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Задачка - байты и текст

Вот жеж некрофил... :D
6 лет спустя..
(Offline)
 
Ответить с цитированием
Старый 09.04.2017, 13:21   #7
Phantom
Элита
 
Аватар для Phantom
 
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений
(для 1,833 пользователей)
Ответ: Задачка - байты и текст

Сообщение от moka Посмотреть сообщение
Вот жеж некрофил... :D
6 лет спустя..
Это не я, передо мной спамер тему поднял, по ходу его пост удалили уже.
(Offline)
 
Ответить с цитированием
Старый 28.01.2021, 10:46   #8
Tiranas
Разработчик
 
Аватар для Tiranas
 
Регистрация: 11.10.2017
Сообщений: 390
Написано 74 полезных сообщений
(для 117 пользователей)
Ответ: Задачка - байты и текст

Сколько мне лет? - Когда моему отцу был 31 год, мне было 8 лет, а теперь отец старше меня вдвое. Сколько мне лет теперь?
__________________
Человек это или баг, или заложенное специально программное яйцо.
(Offline)
 
Ответить с цитированием
Старый 28.01.2021, 12:18   #9
ant0N
Бывалый
 
Аватар для ant0N
 
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений
(для 853 пользователей)
Ответ: Задачка - байты и текст

22
__________________
Абсолютли!
(Offline)
 
Ответить с цитированием
Старый 29.01.2021, 02:41   #10
Tiranas
Разработчик
 
Аватар для Tiranas
 
Регистрация: 11.10.2017
Сообщений: 390
Написано 74 полезных сообщений
(для 117 пользователей)
Ответ: Задачка - байты и текст

Ответ - 23 года. Разность между годами отца и сына равна 23 годам; следовательно, сыну надо иметь 23 года, чтобы отец был вдвое старше его.
__________________
Человек это или баг, или заложенное специально программное яйцо.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 14:43.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com