hex код что это такое простыми словами
HES-код в Турции: что это, как получить
HES-код (Hayat Eve Sığar) — это персональный код, введенный Министерством здравоохранения Турции, для отслеживания перемещения зараженных людей. Нужен во всех или почти всех государственных учреждениях, в больницах, банках, на почте. Во многих провинциях Турции без него нельзя воспользоваться муниципальным городским транспортом.
HES-код может быть получен несколько раз, все его версии работают.
Нужен ли HES-код туристам?
Читайте также:
Как получить HES-код?
Получить HES-код можно следующими способами:
Первые 2 варианта доступны только турецким гражданам и иностранцам при наличии ВНЖ. Смотрите видео о том, как это сделать.
Туристы ограничены последними 2 способами. Но в реальности нужен только последний, когда получение HES-кода происходит по факту заполнения обязательной въездной электронной анкеты. Кстати, читайте также про все требования для въезда в Турцию.
Как получить HES-код с турецкой сим-карты?
Для этого необходимо отправить SMS на номер 2023 с турецкой сим-карты. В ответ в течение минуты придёт SMS с HES-кодом и сроком его действия.
В следующей SMS придёт ссылка на веб-страницу, где будет сгенерирован QR-код для быстрого считывания. QR-код можно сохранить или сделать скриншот экрана.
SMS для получения HES-кода необходимо отправить в следующем формате:
1. Граждане Турецкой республики.
Пример: «HES 12222222222 1234 90».
2. Иностранцы с ВНЖ (икамет, начинающийся на 97, 98 или 99).
Пример: «HES 99222222222 1980 180».
3. Иностранные туристы.
Пример для туристов из РФ: «HES RUS 00000000007 1900 SCHTIRLITZ».
Если хотите HES-код на определенное количество дней, то после фамилии поставьте пробел и число.
Как получить HES-код иностранцу до поездки в Турцию?
С 15 марта 2021 года для посещения Турции в обязательном порядке необходимо заполнить анкету на въезд. Затем распечатать или сохранить в телефоне. В выходном файле анкеты будет предоставлен HES-код, как на картинке ниже.
Имейте в виду на сайте написано ограничение, что заполнение анкеты возможно не ранее, чем за 72 часа до прилета.
Читайте в отдельной статье подробную информацию про заполнение анкеты.
Часто задаваемые вопросы
1. Нужен ли HES-код иностранным туристам?
Да. Он понадобится при заселении в отеле, пользовании муниципальным транспортом, для посещения ТЦ и некоторых достопримечательностей. В любом случае HES-код у вас будет по факту заполнения электронной анкеты.
2. Есть ли у HES-кода срок действия?
3. Нужен ли HES-код для детей/младенцев?
Да, нужен для детей с 2 до 18 лет. Для младенцев до двух лет получать не требуется.
4. Нужен ли HES-код на международные/местные авиарейсы иностранным туристам?
На все международные рейсы с вылетом из Турции HES-код не требуется.
На внутренних рейсах HES-код требуется только для турецких граждан и обладателей ВНЖ (начинающихся с номеров 97, 98, и 99).
5. Можно ли получать HES-коды на несколько человек с одной сим-карты?
Можно получать сколько угодно кодов на один телефон, который не обязательно должен быть ваш.
6. Есть ли в Новом аэропорту Стамбула/Аэропорту имени Сабихи Гёкчен точки по продаже местных сим-карт?
Да, в Аэропорту Стамбул и Аэропорту имени Сабихи Гёкчен представлены сотовые операторы Turkcell, Turk Telekom, Vodafone. Получив такую сим-карту, вы сможете в любой момент получить HES-код, звонить и пользоваться интернетом.
Шестнадцатеричный код.
Шестнадцатеричная система счисления (также — шестнадцатеричный код) является позиционной системой счисления с целочисленным основанием 16. Иногда в литературе также используется термин hex (произносится «хекс», сокращение от англ. hexadecimal). Цифрами данной системы счисления принято использовать арабские цифры 0—9, а также первые символы латинского алфавита A—F. Буквы соответствуют следующим десятичным значениями:
Таким образом, десять арабских цифр вкупе с шестью латинскими буквами и составляют шестнадцать цифр системы.
Кстати, на нашем сайте вы можете перевести любой текст в десятичный, шестнадцатеричный, двоичный код воспользовавшись Калькулятором кодов онлайн.
Применение. Шестнадцатеричный код широко применяется в низкоуровневом программировании, а также в различных компьютерных справочных документах. Популярность системы обоснована архитектурными решениями современных компьютеров: в них в качестве минимальной единицы информации установлен байт (состоящий из восьми бит) — а значение байта удобно записывать с помощью двух шестнадцатеричных цифр. Значение байта может ранжироваться с #00 до #FF (от 0 до 255 в десятичной записи) — другими словами, используя шестнадцатеричный код, можно записать любое состояние байта, при этом не остаётся «лишних» не используемых в записи цифр.
В кодировке Юникод для записи номера символа используется четыре шестнадцатеричных цифры. Запись цвета стандарта RGB (Red, Green, Blue — красный, зелёный, синий) также часто использует шестнадцатеричный код (например, #FF0000 — запись ярко-красного цвета).
Способ записи шестнадцатеричного кода.
Математический способ записи. В математической записи основание системы записывают в десятичном виде в нижнем индексе справа от числа. Десятичную запись числа 3032 можно записать как 303210, в шестнадцатеричной системе данное число будет иметь запись BD816.
В синтаксисе языков программирования. Синтаксис различных языков программирования по-разному устанавливает формат записи числа, использующего шестнадцатеричный код:
* В C, C++ и схожих языках (Java) для этого используется префикс «0x», например: 0x0A0B;
* В синтаксисе некоторых разновидностей языка ассемблера используется латинская буква «h», которая ставится справа от числа, например: 20Dh. Если число начинается с латинской буквы, то перед ним ставится ноль, например: 0A0Bh. Это сделано для того, чтобы отличать от констант значения, использующие шестнадцатеричный код;
* В языке разметки HTML, а также в каскадных файлах CSS, для указания цвета в формате RGB с шестнадцатеричной системой записи, используется префикс «#»: #00DC00.
Как перевести шестнадцатеричный код в другую систему?
Перевод из шестнадцатеричной системы в десятичную. Для совершения операции перевода из шестнадцатеричной системы в десятичную, требуется представить исходное число как сумму произведений цифр в разрядах шестнадцатеричного числа на степень основания.
HES-код в Турции, и как его получить
Что такое HES-код в Турции?
Важно! А ещё без него нельзя купить билеты онлайн, например на междугородние автобусы на сайтах 12go или Busbud.
Очень важно! Сейчас для посещения Турции обязательно нужно иметь отрицательный ПЦР-тест, сделанный не позднее, чем за 72 часа до въезда в страну. Когда приедете из Турции в Россию, тоже надо сделать ПЦР-тест и его результаты загрузить на «Госуслуги». Список клиник, которые делают такие тесты, можно посмотреть здесь. Во все клиники из этого списка можно записаться онлайн.
Как получить HES-код?
HES-код сейчас можно получить онлайн. Для этого надо заполнить анкету в течение последних 72 часов перед поездкой в Турцию вот на этом сайте. В результате вам присвоят индивидуальный код. Вот так выглядит PDF-файлик с кодом, который предлагают скачать после заполнения анкеты.
Фрагмент PDF-файлика с HES-кодом, который предлагают скачать после заполнения анкеты.
Как заполнять анкету для HES-кода (инструкция)
Шаг 1: заполняем общую информацию
Переходим на сайт с анкетой. В выпадающем списке выбираем русский язык.
Шаг 2: заполняем адрес проживания в Турции
Важно! После того как заполнили все поля, надо обязательно нажать на кнопку «+ Добавить адрес», а уже потом переходить к следующему шагу.
Важно! Здесь тоже, после того как указали страну, надо обязательно нажать на кнопку «+ Добавить страну», а уже потом переходить к следующему шагу.
Шаг 4: проверяем данные
Шаг 5: получаем HES-код
Когда всё сделаете, то перейдёте на страницу, где увидите свой HES-код. А ещё будет ссылка, по которой можно скачать файлик с информацией о Вас и с Вашим кодом. Я загрузил его в телефон и на всякий случай распечатал и вложил в загранпаспорт.
Делюсь! Как дешевле снять отель в Стамбуле.
Россияне привыкли бронировать на Booking, но привычка играет дурную шутку. Ищите на RoomGuru или Hotellook. Там дешевле! У них поисковая база больше, и тот же Букинг в нее включен. Если на Букинге будут предложения дешевле, то их тоже покажут в выдаче на поиске.
Учимся считать в hex, или реверс-инженеринг будильника
Введение
Недавно у меня появилась мысль научиться считать в шестнадцатеричной системе счисления. Так как я человек ленивый, такие способы, как выучить таблицу умножения меня не устраивали. Немного поразмыслив, я вспомнил, что каждое утро решаю (иногда несколько раз) несложный пример, чтобы отключить будильник. Помогает слабо, со временем я начал решать почти не просыпаясь. Так почему бы не совместить полезное с полезным?
Осталось выбрать способ реализации. Так как я не имею не малейшего представления о разработке под андроид (да и вообще с Java не сильно знаком), да и писать свое приложение ради такой мелочи — это стрельба из пушки по воробьям, было решено модифицировать уже имеющийся будильник.
Под катом вы найдете описание инструментов, процесса и результата перевода примера в hex. А также объяснение синтаксиса smali кода (язык опкодов для виртуальной машины dalvik). Картинок почти нет, буков много.
Получение читабельного кода
Итак, берем файл нашего приложения (в моем случае это AlarmDroid) и разархивируем его. Есть много способов сделать это, я пользовался Apk Manager, о котором я еще напишу чуть ниже. Далее нужно конвертировать classes.dex в jar. Для этого есть dex2jar. Перетаскиваем файл на dex2jar.bat. Теперь нужно научиться читать получившийся jar файл. Используем для этого программу jd-gui (кстати есть одноименный плагин для Eclipse).
Итак мы получили почти читаемый код, хотя кое-где декомпилятор явно плющит.
Первая кровь
Для начала неплохо было бы сделать генерацию чисел не до 10, а до 15. Изучаем код, и находим метод генерации примера. Поискать его придется, классов в деревьях много. Но так как названия методов сохранились, это не очень сложно.
Находим искомый метод в классе RingerActivity.
Ну вроде все, просто: генерируем 3 числа и 2 знака, и кладем результат в this.x (это нам, кстати, пригодится).
Теперь находим этот же метод в smali-коде (к сожалению в онлайне нету хайлайтеров smali кода, а свой писать лениво, поэтому код будет скринами).
(Код метода продолжается дальше)
Код непонятный, но явно видно что константы задаются один раз в начале. Поэтому меняем 0xa на 0xf и пытаемся увидеть изменения, чтобы знать что мы на верном пути. С помощью Apk Manager собираем, подписываем, перекачиваем на телефон (можно тестировать на эмуляторе, если установлен Android SDK), устанавливаем, ставим будильник на минуту вперед, ждем, смотрим. Эту процедуру придется повторять большое количество раз. Числа на экране увеличились, ошибок не возникает. Отлично! Теперь самое время немного разобраться в непонятном smali коде.
Разбираемся в smali коде
В общем-то все довольно хорошо описано вот тут, я лишь вкратце и по-русски перескажу.
Типы, методы, поля
Lpackage / name / ObjectName ;-> MethodName ( III ) Z
method ( I [ [ IILjava / lang / String ; [ Ljava / lang / Object ; ) Ljava / lang / String ;
Lpackage / name / ObjectName ;-> FieldName : Ljava / lang / String ;
Здесь в общем-то все и так ясно.
Регистры
В smali коде все регистры 32 битные и могут содержать любой тип значений. Для 64 битных значений используются 2 регистра.
Определение количества регистров в методе
Передача параметров
в него, помимо двух интов, передается LMyObject; перед обоими интами, и получается, что в методе 3 параметра. И если вы задали общее количество регистров в методе 5 (или локальное количество 2), то в v2 попадет объект, в v3 — первый инт, в v4 — второй.
Именование регистров
Есть 2 схемы именования регистров: общая v-схема, и p-схема для регистров параметров. В вышеизложенном примере у нас будут 5 общих регистров v0-v4, и 3 регистра параметров p0-p2, причем как было сказано выше p0 и v2 (а также p1 и v3, p2 и v4) обозначают один и тот же регистр.
В общем есть еще некоторые тонкости, но нам для изменения будильника они не важны.
Перевод примера в hex
для всех трех чисел.
Изменение поля ввода
и тут тоже добавляем перевод в верхний регистр. Собираем, смотрим. Ура! Все работает.
Заключение
Скоро сказка сказывается, да не скоро дело делается. Из-за отсутствия дебаггера, тестирование очень сложно, для того чтобы запустить приложение и проверить его работоспособность требуется пара минут, и много надоедающих действий.
Также очень хотелось переделать цифровую раскладку моей любимой клавиатуры Swype для ввода в hex. Но их зашифрованные файлы раскладок стали для меня неодолимым препятствием. =(
Вот финальная версия будильника. К сожалению обновляться после модификации он перестал. Ну да мне и нынешнего функционала хватает.
Спасибо за внимание, буду рад любой критике!
Общие сведения
Система счисления — метод символьного типа для записи чисел с помощью определенных знаков. Последние записываются посредством чисел и цифр. Однако не все понимают логического смысла последних терминов. Числом называется некоторая абстрактное значение, характеризующее количественные характеристики какой-либо величины, явления или процесса. Цифра является знаком, который необходим для записи числа.
Цифры бывают 2 видов: арабскими и римскими. Первые являются самыми распространенными. Они представлены знаковым интервалом от 0 до 9. Чисел больше, и поэтому используется набор цифр. Для этого и были придуманы системы исчисления. Они делятся на четыре группы:
К первой группе относятся все разрядные системы, в которых положение и порядок знака играет важную роль. От этого зависит значение величины. Если изменить положение цифр, то число изменится.
Смешанной является система, в которой присутствуют данные позиционной и непозиционной групп.Простой пример — деньги. Существуют два типа денежных знаков: монеты и купюры. Например, техника стоит 5250 рублей 50 копеек.
Для получения данной суммы следует использовать некоторое количество купюр и монет: 5250,50 = (5000 + 200 + 50) рублей + 50 копеек.
Унарной называется единичная система с одной цифрой. Последняя может быть представлена в виде 1, черты, креста и любого целого значения. Иными словами, каждый знак соответствует 1. Например, запись «1111111» эквивалентна «|||||||». Если расшифровать ее, то получится число 7. В книге Даниэля Дефо «Робинзон Крузо» герой применял данную систему для подсчета дней, проведенных на острове. Детей обучают математике на начальном уровне с помощью счетных палочек. Если вспомнить историю, то древние люди тоже пользовались унарным счислением.
Позиционные системы в программировании
Наиболее востребованными в IT-сфере являются двоичный и шестнадцатеричный коды. Они применяются для перевода десятичной системы счисления, которая понятна человеку, в машинный язык. Двоичная состоит из двух переменных, которые принимают единичное (1) или нулевое (0) значения. Это очень просто реализовать в электронике и микросхемотехнике.
Микропроцессор персонального компьютера является микросхемой. Она состоит из множества транзисторов, способных кодировать 0 и 1. Схему соединения полупроводниковых приборов составляют так, чтобы они имели два состояния (открыт и закрыт). Кроме того, реализация двоичной системы может быть выполнена в любом устройстве, которое потребляет электрический ток. Наличие кодируется как 1, а отсутствие — 0.
Берутся также некоторые физические процессы: наличие света, сопротивления, намагниченности и так далее. С системой можно связать разные величины, которые имеют два состояния. Новичкам рекомендуется сначала полностью освоить перевод из десятичной системы счисления в двоичную и обратно. После этого следует приступить к изучению шестнадцатеричного кода, расшифровка которого существенно отличается.
Работа с двоичным кодом
Выполнять манипуляции с двоичным кодом достаточно просто. Для этого следует знать основные правила и методы конвертации десятичной системы в двоичную.
Для преобразования IT-специалисты предлагают 3 метода:
Первый и второй способы используются на первоначальных этапах знакомства с системами. Они считаются ресурсоемкими, поскольку отнимают время. Последний реализуется с помощью специальных программ, поддерживающих конвертацию из одной системы в другую. Этим методом пользуются все программисты. В различных операционных системах есть приложения, работающие в таком режиме (например, калькулятор Windows).
Однако нужно подробнее разобрать первые два метода, поскольку задачи на конвертацию могут быть на экзаменах или контрольных.
Деление с отсечением остатка
Начинающему программисту необходимо обязательно знать алгоритм преобразования, и уметь применять его на практике. К
роме того, на экзаменах по дисциплинам с IT-уклоном может быть задача, в которой следует выполнить конвертацию из одной системы счисления в другую.
Перевод числа из десятичной в двоичную осуществляется по такому алгоритму:
Для наглядного примера стоит применить алгоритм на практике.
Для перевода числа 13 нужно выполнить следующие шаги:
Нужно обратить внимание на форму записи в 6 пункте.
Таким способом правильно записывается число в системах счисления.
Можно применять также вместо <2>нижний индекс, указывающий искомую систему.
Последний пункт нужно выполнять постоянно, поскольку это поможет избежать проблем при расчетах.
Если ничего нет под рукой, то можно произвести возведение в степень. Это делается следующим образом: [1011] <2>= 2 3 + 0 + 2 1 + 2 0 = 8 + 0 + 2 + 1 = [13]<10>.
Степенной метод
Для реализации этого метода необходимо воспользоваться таблицей степеней двойки (табл. 1). Ее можно составить самостоятельно или скачать из интернета. Суть метода сводится также к вычислениям и подборам значений.
Показатель степени, n | Результат возведения |
0 | 1 |
1 | 2 |
2 | 4 |
3 | 8 |
4 | 16 |
5 | 32 |
6 | 64 |
Таблица 1. Степень двойки до 6 и ее значения.
Специалисты рекомендуют воспользоваться обыкновенным калькулятором, который разрешен на экзаменах или тестах. Кроме того, следует составить таблицу, поскольку это оптимизирует процесс вычислений. Для конвертации есть специальный алгоритм:
Для проверки рекомендуется воспользоваться специальным калькулятором или выполнить сложение всех значений степеней. Для примера можно рассмотреть конвертацию числа 118 в двоичный код. Операция выполняется таким образом:
Чтобы проверить в ручном режиме, нужно произвести обратные вычисления: 2 6 + 2 5 + 2 4 + 0 + 2 2 + 2 1 + 0 = [118]<10>.
Шестнадцатеричный формат
Осуществить конвертацию из десятичного в шестнадцатеричный код (HEX — hexadecimal) можно только с использованием программ. Ручной метод основан на двойной конвертации. Для его реализации нужно перевести число, записанное в десятичной системе, в двоичный код, а затем в шестнадцатеричный.
Основанием является целочисленное значение, равное 16. Система состоит из арабских цифр от 0 до 9, а также букв, обозначающих конкретные значения: А = 10, В = 11, С = 12, D = 13, Е = 14 и F = 15. В автоматизированном режиме можно воспользоваться переводчиком шестнадцатеричного кода.
Необходимо отметить, что HEX применяется также в низкоуровневом программировании. Выбор этой системы счисления основан на решении в компьютерной технике применять такую единицу информации, как байт (состоит из 8 битов). Его удобно записывать двумя HEX-цифрами (от 0 до 255, т. е. #00 до #FF). Кроме того, шестнадцатеричный код в текст также конвертируется. Примером этому является кодировка Юникод, в которой для записи символа применяются четыре HEX-цифры. Цвет RGB-формата графического изображения также записывается с его помощью.
Способы записи
Существует несколько форм записи числа, представленного в HEX. Математическая форма выглядит таким образом: [DF5]<16>. Можно также найти запись, в которой вместо <16>стоит нижний индекс. Она применяется в информатике.
Запись отличается в языках программирования, поскольку у каждого из них различный синтаксис и правила написания кода. Основные формы представления HEX следующие:
Распространенная ошибка новичков заключается в том, что они неверно указывают HEX-числа. В результате компилятор языка выдает ошибку. Программисты рекомендуют основательно изучить синтаксис языка перед написанием приложений.
Алгоритм конвертации
Перевод в шестнадцатеричный код рекомендуется осуществлять с помощью специальных приложений (конвертеров кода). Если же их нет под рукой, то специалисты рекомендуют использовать специальный алгоритм:
Операции умножения, сложения, вычитания и деления сложны.
Они осуществляются только с помощью специальных программ или онлайн-сервисов.
Не следует путать четверичные с троичными группами, которые используются в восьмеричном коде.
Например, нужно перевести 118 в HEX-код.
Для этого следует воспользоваться описанным алгоритмом:
В некоторых случаях нужно использовать буквы. Например, для перевода числа [11110111] <2>в HEX-код нужно также воспользоваться алгоритмом, разбивая его на тетрады следующим образом: 1111 0111. Первая группа равна 2 3 + 2 2 + 2 1 + 2 0 = [15] <10>= F<16>, а вторая — 0 + 2 2 + 2 1 + 2 0 = 7. Результирующая запись имеет такой вид: [11110111] <2>= [F7]<16>.
Таким образом, HEX-код получил широкое применение в IT-сфере, поскольку он очень удобен для записи массивов информации. Однако для его конвертации в ручном режиме нужно изучить двоичную систему счисления, а также основные алгоритмы преобразования.