Фармакод (Sgjbgtk;)

Перейти к навигации Перейти к поиску
Альтернативный текст
Пример фармакода

Фармако́д, также известный как Фармацевтический двоичный код, является стандартом штрихового кода, используемый в фармацевтической промышленности в качестве системы контроля упаковок. Он может быть читаемым, даже несмотря на ошибки при печати. Фармакоды могут быть напечатаны в нескольких цветах, чтобы убедиться, что оставшаяся часть упаковки (которую фармацевтическая компания должна печатать, чтобы защитить себя от юридической ответственности) правильно напечатана.

Кодирование

[править | править код]

Фармакод может представляться только одним целым числом от 1 до 131 070. В отличие от других широко используемых линейных штриховых кодов, фармакод не хранит данные в виде, соответствующем возможности понимания человеком цифр, число кодируется в двоичном формате. Фармакод читается сканером справа налево и слева направо (если сканер всенаправленный): каждая узкая полоса обозначает ноль в двоичном коде и каждая широкая полоса обозначает единицу. Минимальная длина штрихкода — 1 узкая полоса и максимальная — 16 широких, так что наименьшее число, которое может быть закодировано — это 1 (1 узкая полоса) и самое большое — 131070 (16 широких полос). Фармакоды представляются цветами, которые доминируют на упаковке.

Алгоритм кодирования

[править | править код]
  1. К числу, необходимому для кодирования, необходимо прибавить единицу (пример: 69 + 1 = 70)
  2. Необходимо перевести число в двоичный формат (7010 = 10001102)
  3. «Вычеркнуть» единицу, стоящую впереди всех остальных чисел (1000110 → 000110)
  4. Преобразовать число в линейный код, заменяя нули узкими полосками, а единицы — широкими (000110 → IIIIII)

Алгоритм декодирования

[править | править код]
  1. Заменить узкие и широкие полоски числами (IIIIIII → 0110010)
  2. Поставить единицу спереди этого числа (10110010)
  3. Выполнить перевод этого двоичного числа в десятичное (101100102 → 17810)
  4. Вычесть из полученного числа единицу (178 — 1 = 177)