 |
Загадки Постим и отгадываем загадки. Флуд запрещён - только условия и обсуждение решений. |
05.04.2011, 22:32
|
#1
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,861 пользователей)
|
Задачка - байты и текст
Это скорее задачка, а не загадка.
Рассчитана на тех кто интересуется работы с текстом, конвертация в другие типы данных, используя разные кодировками и криптование.
Далее будет усложнятся, и использоваться не только кодировка, но и криптование.
Первый Текст
Используется 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
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Задачка - байты и текст
Паучоке Петрович тоже так умеет кодить == )
return imperCoolFuncCollection::INTERF().SuperDecode(string source);
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо impersonalis за это полезное сообщение:
|
|
06.04.2011, 00:58
|
#3
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Ответ: Задачка - байты и текст
хм.. Мока, я функу не тестил но чет бросается в глаза - по условию задачи ютф16, а в коде в ретурне используется ютф8 судя по названию класса !! Но если работант то ок !! 
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
06.04.2011, 03:50
|
#4
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,861 пользователей)
|
Ответ: Задачка - байты и текст
Сообщение от IGR
хм.. Мока, я функу не тестил но чет бросается в глаза - по условию задачи ютф16, а в коде в ретурне используется ютф8 судя по названию класса !! Но если работант то ок !! 
|
Там просто доступ к интерфейсу Unicode из других энкодеров, поправил функцию.
|
(Offline)
|
|
06.04.2017, 14:13
|
#5
|
Элита
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений (для 1,833 пользователей)
|
Ответ: Задачка - байты и текст
А где продолжение?
|
(Offline)
|
|
09.04.2017, 01:35
|
#6
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,861 пользователей)
|
Ответ: Задачка - байты и текст
Вот жеж некрофил... :D
6 лет спустя..
|
(Offline)
|
|
09.04.2017, 13:21
|
#7
|
Элита
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений (для 1,833 пользователей)
|
Ответ: Задачка - байты и текст
Сообщение от moka
Вот жеж некрофил... :D
6 лет спустя..
|
Это не я, передо мной спамер тему поднял, по ходу его пост удалили уже.
|
(Offline)
|
|
28.01.2021, 10:46
|
#8
|
Разработчик
Регистрация: 11.10.2017
Сообщений: 390
Написано 74 полезных сообщений (для 117 пользователей)
|
Ответ: Задачка - байты и текст
Сколько мне лет? - Когда моему отцу был 31 год, мне было 8 лет, а теперь отец старше меня вдвое. Сколько мне лет теперь?
__________________
Человек это или баг, или заложенное специально программное яйцо.
|
(Offline)
|
|
28.01.2021, 12:18
|
#9
|
Бывалый
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений (для 853 пользователей)
|
Ответ: Задачка - байты и текст
22
__________________
Абсолютли!
|
(Offline)
|
|
29.01.2021, 02:41
|
#10
|
Разработчик
Регистрация: 11.10.2017
Сообщений: 390
Написано 74 полезных сообщений (для 117 пользователей)
|
Ответ: Задачка - байты и текст
Ответ - 23 года. Разность между годами отца и сына равна 23 годам; следовательно, сыну надо иметь 23 года, чтобы отец был вдвое старше его.
__________________
Человек это или баг, или заложенное специально программное яйцо.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 16:01.
|