کد

از ویکیپدیا، دانشنامه آزاد
پرش به ناوبری پرش به جستجو

در ارتباطات و پردازش اطلاعات ، کد سیستمی از قوانین برای تبدیل اطلاعات - مانند یک حرف ، کلمه ، صدا، تصویر یا اشاره - به شکل دیگری، گاهی کوتاه یا مخفی ، برای ارتباط از طریق یک کانال ارتباطی یا ذخیره سازی در یک انبار است. متوسط . یک مثال اولیه اختراع زبان است که فرد را از طریق گفتار قادر می سازد، آنچه را که فکر می کنند، دیدند، شنیدند یا احساس کردند به دیگران منتقل کنند. اما گفتار دامنه ارتباط را به فاصله ای که یک صدا می تواند حمل کند محدود می کند و مخاطب را به افراد حاضر در هنگام بیان سخنرانی محدود می کند. اختراع نوشتن ، که زبان گفتاری را به نمادهای بصری تبدیل کرد ، دامنه ارتباطات را در فضا و زمان گسترش داد .

فرآیند رمزگذاری اطلاعات را از یک منبع به نمادهایی برای ارتباط یا ذخیره سازی تبدیل می کند. رمزگشایی فرآیند معکوس است، تبدیل نمادهای کد به شکلی که گیرنده آن را می فهمد، مانند انگلیسی یا/و اسپانیایی.

یکی از دلایل کدگذاری، فعال کردن ارتباط در مکان‌هایی است که زبان ساده معمولی ، گفتاری یا نوشتاری، دشوار یا غیرممکن است. به عنوان مثال، سمافور ، که در آن پیکربندی پرچم‌هایی که توسط یک علامت‌دهنده یا بازوهای یک برج سمافور نگهداری می‌شوند، بخش‌هایی از پیام، معمولا حروف و اعداد را رمزگذاری می‌کند. شخص دیگری که در فاصله ای دور ایستاده است می تواند پرچم ها را تفسیر کرده و کلمات ارسال شده را بازتولید کند.

نظریه

در تئوری اطلاعات و علوم کامپیوتر ، یک کد معمولاً به عنوان الگوریتمی در نظر گرفته می‌شود که به طور منحصربه‌فرد نمادهایی را از برخی از الفبای منبع ، با رشته‌های رمزگذاری‌شده ، که ممکن است در برخی از الفبای هدف دیگر باشد، نشان می‌دهد. توسعه کد برای نشان دادن دنباله نمادها بر روی الفبای مبدأ با به هم پیوستن رشته های رمزگذاری شده به دست می آید.

قبل از ارائه یک تعریف دقیق ریاضی، این یک مثال کوتاه است. نقشه برداری

کدی است که الفبای منبع آن مجموعه است و الفبای هدف آن مجموعه است . با استفاده از پسوند کد، رشته رمزگذاری شده 0011001 را می توان در کدهای 0 011 0 01 گروه بندی کرد و این ها به نوبه خود می توانند به دنباله نمادهای منبع acab رمزگشایی شوند .

با استفاده از اصطلاحات نظریه زبان رسمی ، تعریف دقیق ریاضی این مفهوم به شرح زیر است: فرض کنید S و T دو مجموعه متناهی باشند که به ترتیب الفبای مبدا و مقصد نامیده می شوند. یک کد یک تابع کل است که هر نماد را از S به دنباله ای از نمادها روی T نگاشت می کند از ، یک است همریخت از به ، که به طور طبیعی هر دنباله ای از نمادهای منبع را به دنباله ای از نمادهای هدف نگاشت می کند.

کدهای با طول متغیر

در این بخش، کدهایی را در نظر می گیریم که هر کاراکتر منبع (متن شفاف) را با یک کلمه رمز از فرهنگ لغت کدگذاری می کند و الحاق این کد کلمات به ما یک رشته رمزگذاری شده می دهد. کدهای با طول متغیر به ویژه زمانی مفید هستند که کاراکترهای متن واضح احتمالات متفاوتی داشته باشند. رمزگذاری آنتروپی را نیز ببینید .

کد پیشوند کد با "اموال پیشوند" است: هیچ کلمه کد معتبر در سیستم است که یک وجود دارد پیشوند (شروع) هر کلمه دیگر کد معتبر در مجموعه. کدگذاری هافمن شناخته شده ترین الگوریتم برای استخراج کدهای پیشوندی است. کدهای پیشوند به طور گسترده ای به عنوان "کدهای هافمن" شناخته می شوند حتی زمانی که کد توسط الگوریتم هافمن تولید نشده باشند. نمونه‌های دیگر کدهای پیشوند عبارتند از کدهای تماس کشور ، بخش‌های کشور و ناشر شابک‌ها ، و کدهای همگام‌سازی ثانویه مورد استفاده در استاندارد بی‌سیم UMTS WCDMA 3G.

نابرابری کرافت مجموعه ای از طول کلمه رمز را مشخص می کند که در یک کد پیشوند امکان پذیر است. تقریباً هر کد یک به چند قابل رمزگشایی منحصر به فرد، نه لزوماً یک پیشوند، باید نابرابری کرافت را برآورده کند.

کدهای تصحیح خطا

همچنین ممکن است از کدها برای نمایش داده ها به گونه ای استفاده شود که در برابر خطاهای انتقال یا ذخیره سازی مقاوم تر باشد. این به اصطلاح کد تصحیح خطا با گنجاندن افزونگی با دقت ساخته شده با داده های ذخیره شده (یا ارسال شده) کار می کند. مثالها عبارتند از کدهای همینگ ، رید-سلیمان ، رید مولر ، والش هادامارد ، بوز-چادوری-Hochquenghem ، توربو ، گولی [Golay ، Goppa ، چگالی کم کدهای پریتی و کدهای فضا-زمان . کدهای تشخیص خطا را می توان برای شناسایی خطاهای پشت سر هم یا خطاهای تصادفی بهینه کرد .

مثالها

کدهای ارتباطی مورد استفاده برای اختصار

یک کد کابلی کلمات (مثلاً کشتی یا فاکتور ) را با کلمات کوتاه‌تر جایگزین می‌کند ، و اجازه می‌دهد همان اطلاعات با کاراکترهای کمتر ، سریع‌تر و با هزینه کمتر ارسال شوند.

برای اختصار می توان از کدها استفاده کرد. زمانی که پیام‌های تلگراف در ارتباطات سریع از راه دور پیشرفته بودند، سیستم‌های پیچیده‌ای از کدهای تجاری که عبارات کامل را در یک دهان (معمولاً گروه‌های پنج دقیقه‌ای) رمزگذاری می‌کرد، توسعه یافتند، به طوری که تلگراف‌کنندگان با کلماتی مانند BYOXO آشنا شدند. ("آیا سعی می‌کنید از معامله ما خارج شوید؟")، LIOUY ("چرا به سوال من پاسخ نمی‌دهید ؟")، BMULD ("شما یک اسکین هستید!") یا AYYLU ("به وضوح رمزگذاری نشده است، تکرار کنید" واضح تر."). کلمات رمز به دلایل مختلفی انتخاب شدند: طول ، تلفظو غیره. معانی متناسب با نیازهای درک شده انتخاب شدند: مذاکرات تجاری، شرایط نظامی برای کدهای نظامی، اصطلاحات دیپلماتیک برای کدهای دیپلماتیک، هر و همه موارد قبلی برای کدهای جاسوسی. کتاب‌های کد و ناشران کتاب‌های رمز زیاد شدند، از جمله یکی از آن‌ها به‌عنوان جلویی برای اتاق سیاه آمریکا که توسط هربرت یاردلی بین جنگ‌های جهانی اول و دوم اداره می‌شد. هدف بیشتر این کدها صرفه جویی در هزینه کابل بود. استفاده از کدگذاری داده ها برای فشرده سازی داده ها به دوران کامپیوتر پیش می رود. یک مثال اولیه کد مورس تلگراف است که در آن نویسه‌های پرکاربرد بازنمایی کوتاه‌تری دارند. تکنیک هایی مانند کدگذاری هافمن اکنون توسط الگوریتم های مبتنی بر کامپیوتر استفاده می شود برای فشرده سازی فایل های داده بزرگ به شکل فشرده تر برای ذخیره سازی یا انتقال.

رمزگذاری کاراکترها

رمزگذاری کاراکترها نمایش داده های متنی هستند. یک رمزگذاری کاراکتر معین ممکن است با یک مجموعه کاراکتر خاص (مجموعه کاراکترهایی که می تواند نشان دهد) مرتبط باشد، اگرچه برخی از مجموعه کاراکترها دارای رمزگذاری کاراکترهای متعدد هستند و بالعکس. رمزگذاری کاراکترها ممکن است به طور گسترده بر اساس تعداد بایت های مورد نیاز برای نشان دادن یک کاراکتر گروه بندی شوند: رمزگذاری های تک بایتی، رمزگذاری های چند بایتی (همچنین گسترده) و رمزگذاری های با عرض متغیر (همچنین به طول متغیر نیز گفته می شود) وجود دارد. اولین رمزگذاری کاراکترها تک بایتی بودند که معروف ترین نمونه آن ASCII است . ASCII امروزه مورد استفاده قرار می گیرد، به عنوان مثال در هدرهای HTTP. با این حال، رمزگذاری های تک بایتی نمی توانند مجموعه کاراکترهایی با بیش از 256 کاراکتر را مدل کنند. اسکریپت هایی که به مجموعه کاراکترهای بزرگ مانند چینی، ژاپنی و کره ای نیاز دارند باید با رمزگذاری چند بایتی نمایش داده شوند. رمزگذاری‌های چند بایتی اولیه با طول ثابت بودند، به این معنی که اگرچه هر کاراکتر با بیش از یک بایت نمایش داده می‌شد، اما همه کاراکترها از تعداد بایت‌های یکسانی استفاده می‌کردند ("طول کلمه") که آنها را برای رمزگشایی با یک جدول جستجو مناسب می‌کرد. گروه آخر، رمزگذاری های با عرض متغیر، زیرمجموعه ای از رمزگذاری های چند بایتی است. اینها از منطق رمزگشایی و رمزگشایی پیچیده‌تر برای نمایش کارآمد مجموعه‌های کاراکترهای بزرگ استفاده می‌کنند در حالی که نمایش‌های کاراکترهای رایج‌تر را کوتاه‌تر نگه می‌دارند یا ویژگی‌های سازگاری عقب را حفظ می‌کنند. این گروه شامل UTF-8 استکدگذاری مجموعه کاراکترهای یونیکد . UTF-8 رایج ترین رمزگذاری رسانه متنی در اینترنت است.

کد ژنتیکی

موجودات بیولوژیکی حاوی مواد ژنتیکی هستند که برای کنترل عملکرد و رشد آنها استفاده می شود. این DNA است که شامل واحدهایی به نام ژن هایی است که RNA پیام رسان از آنها مشتق می شود. این به نوبه خود پروتئین ها را از طریق یک کد ژنتیکی تولید می کند که در آن یک سری از سه گانه ( کدون ) از چهار نوکلئوتید ممکن می توانند به یکی از بیست اسید آمینه ممکن ترجمه شوند . دنباله ای از کدون ها منجر به دنباله ای از اسیدهای آمینه می شود که یک مولکول پروتئین را تشکیل می دهند. نوعی کدون به نام کدون توقف ، پایان توالی را نشان می دهد.

کد گودل

در ریاضیات , کد گودل مبنای اثبات قضیه ناتمامی گودل بود . در اینجا، ایده این بود که نمادهای ریاضی را به یک عدد طبیعی (با استفاده از شماره گذاری گودل ) نگاشت کنیم .

دیگر

کدهایی وجود دارد که از رنگ‌ها استفاده می‌کنند، مانند چراغ‌های راهنمایی ، کد رنگی که برای علامت‌گذاری مقدار اسمی مقاومت‌های الکتریکی یا سطل‌های زباله اختصاص داده شده به انواع خاصی از زباله (کاغذ، شیشه، ارگانیک و غیره) استفاده می‌شود.

در بازاریابی ، کدهای کوپن را می توان برای تخفیف یا تخفیف مالی هنگام خرید محصول از یک خرده فروش (معمولا اینترنتی) استفاده کرد.

در محیط های نظامی از صداهای خاص با کرنت برای مصارف مختلف استفاده می شود: برای مشخص کردن لحظاتی از روز، فرماندهی پیاده نظام در میدان جنگ و غیره.

سیستم های ارتباطی برای اختلالات حسی، مانند زبان اشاره برای افراد ناشنوا و خط بریل برای افراد نابینا، بر اساس حرکت یا کدهای لمسی است.

نمرات موسیقی هستند ترین راه معمول برای رمزگذاری موسیقی .

بازی‌های خاص سیستم‌های کد مخصوص به خود را برای ضبط مسابقات دارند، به عنوان مثال نماد شطرنج .

رمزنگاری

در تاریخ رمزنگاری ، زمانی کدها برای اطمینان از محرمانه بودن ارتباطات رایج بودند، اگرچه اکنون به جای آن از رمزها استفاده می شود.

کدهای مخفی که برای پنهان کردن پیام های واقعی در نظر گرفته شده اند، از جدی (عمدتاً جاسوسی در ارتش، دیپلماسی، تجارت و غیره) گرفته تا بی اهمیت (عاشقانه، بازی) می توانند هر نوع رمزگذاری تخیلی باشند: گل ها ، کارت های بازی، لباس ها، طرفداران، کلاه ها. ، ملودی ها، پرنده ها و غیره که در آنها تنها شرط، پیش توافق بر معنا توسط فرستنده و گیرنده است.

نمونه های دیگر

نمونه های دیگر از رمزگذاری عبارتند از:

نمونه های دیگر رمزگشایی عبارتند از:

کدها و کلمات اختصاری

کلمات اختصاری و اختصاری را می توان رمز در نظر گرفت و به تعبیری همه زبان ها و سیستم های نوشتاری رمزی برای اندیشه انسان هستند.

کدهای فرودگاه انجمن بین المللی حمل و نقل هوایی، کدهای سه حرفی هستند که برای تعیین فرودگاه ها و برای برچسب های چمدان استفاده می شوند . کد ایستگاه ها به طور مشابه در راه آهن استفاده می شود اما معمولا ملی هستند، بنابراین اگر در کشورهای مختلف باشند، می توان از همان کد برای ایستگاه های مختلف استفاده کرد.

گاهی اوقات، یک کلمه رمز به وجود (و معنای) مستقل می رسد در حالی که عبارت معادل اصلی فراموش می شود یا حداقل دیگر معنای دقیق منتسب به کلمه رمز را ندارد. برای مثال، «30» به طور گسترده در روزنامه‌نگاری به معنای «پایان داستان» استفاده می‌شد و در زمینه‌های دیگر به معنای «پایان» استفاده می‌شد. [1] [2]

همچنین ببینید

منابع

  1. کوگان، هاداس «پس چرا نه 29» بایگانی شده 12/12/2010 در Wayback Machine American Journalism Review. بازیابی شده در 2012-07-03.
  2. "WESTERN UNION "CODE 92" & WOOD's "TELEGRAFIC NERALS " " . انجمن سپاه سیگنال. 1996. بایگانی شده از نسخه اصلی در 2012-05-09 . بازیابی شده در 03-07-2012 .