فصل ســوم: روش اجرای تحقـیـق
آنچه سبب شود که نیستی صورت هستی به خود گیرد، آفرینش و خلاقیت است. از این رو همه هنرها آفریدن است و استادان و هنرمندان همه خلاق و آفرینش گرند.
«افلاطون»
۳-۱- کلیات روش پیشنهادی
همانطور که در مقدمه بیان شد هدف از این پروژه ارائه روشی جدید جهت حافظت از کپی رایت متون دیجیتال در زبان های مختلف با رسم الخطهای متفاوت میباشد.
در سالهای اخیر، روش های بسیاری جهت نهاننگاری در متون لاتین، فارسی(عربی) و برخی متون دیگر ارائه شده است که در بعضی از آنها روشهایی از جمله تغییر شکل کاراکترها مبتنی برتصاویر هر کاراکتر،مبتنی بر خصوصیات زبانهای مختلف، براساس گروه بندی کاراکترهای متن با بهره گرفتن از نشانه گذاری کاراکترهای نامحسوس یونیکد]۳۶-۱۹[ ارائه شدهاند.
باوجود تلاشهای بسیار در این زمینه، کماکان نیاز به روشی مقاوم و جامع جهت نهان نگاری و حفاظت از کپیرایت متون دیجیتال که در زبانهای مختلف کارایی یکسانی داشته باشد احساس میشود.
پس از بررسی روش های موجود در حوزهی نهان نگاری دیجیتال، به این مهم دست یافتیم که تا به حال روش های اندکی ارائه شدهاند که به صورت جامع قابلیت اجرا در متون دیجیتال مختلف با زبانهای متفاوت دارند.
به عنوان نمونه در روش (لیپ یپور وهمکاران،۲۰۱۲)، از فاصله های مختلف که در استاندارد یونیکد وجود دارند جهت نهاننگاری استفاده می شود که این امر موجب ایجاد فاصله های زیاد در فایل حامل میشود. ولی نمی توان از مزیت این روش چشم پیوشی کرد که قابلیت اجرا در متون دیجیتال مختلف را داراست.
قبل از پرداختن به روش پیشنهادی در این ارائه، ابتدا استاندارد یونیکد و ویژگیهای آن را شرح داده و سپس به بررسی روش پیشنهادی میپردازیم.
-
- مروری بر استاندارد یونیکد
یونیکد[۴۰] یکی از استاندارهایی است که برای انکدینگ[۴۱] کاراکترها استفاده میشود. این استاندارد با بیشتر استانداردهای انکدینگ مانندISO/IEC 10646هماهنگ است.
(( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت nefo.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. ))
۳-۲-۱- تعیین کدهای کاراکترها
در استاندارد یونیکد به هرکاراکتر یک شماره یا کد اختصاص داده شده است. هرکدام از این عددها یک کدپوینت[۴۲] هستند. هنگام مراجعه به متن دردرمبنایشانزدهباپیشوند “U+” می آیند. هر کاراکتر یک نام یکتا نیز دارد برای مثال کاراکتر انگلیسی “A” باکددهدهی۶۵ درسیستمیونیکدبهصورت “U+0041” نشان دادهمیشود.ایننامهای یونیکدبرای کاراکترهای یکسان در استانداردISO/IEC10646 هماهنگهستند.
استاندارد یونیکد کاراکترها را بوسیله اسکریپتهایی در بلوک ها گروهبندی میکند. یک اسکریپت یک سیستم از کاراکترهای مربوط است. استاندارد، کاراکترها را در یک مجموعه منبع نگه میدارد.
زمانی که کاراکترهای یک زبان در یک ترتیب خاص هستند مثلا ترتیب الفبایی، استاندارد یونیکد هم آنها را در ناحیه کد به گونه ای مشخص میکند که از همان ترتیب استفاده میکنند. بلوک ها در سایز متفاوتند مثلا بلوک سریلانکایی [۴۳]، ۲۶۵ کدپوینت دارد ولی CJKشامل هزاران کدپوینت است.
هر زبان در یک بلوک به ترتیب الفبایی مرتب شده است. کدینگبا “U+0000” شروع شده و با کاراکترهای اسکی و بعد یونانی ، سریلانکایی ، عبری ، عربی ، هندی و بقیه زبان ها و بعد علائم و نمادهای نقطه گذاری ادامه پیدا میکند و همینطور بقیه موارد موجود در یونیکد می آید. یک محدوده از کدپوینت ها برای استفاده خصوصی رزرو شده اند که در ادامه یک محدوده از کاراکترهای سازگاری میآیند.
این کاراکترها برای تطبیق با نسخه های قدیمی ساخته شدهاند. محدودهی وسیعی از کدپوینتها روی BMPو دو محدوده خیلی وسیع در سطح تکمیلی به عنوان نواحی استفاده خصوصی رزرو شده اند؛ که هیچ معنای عمومی ندارند و برای استفاده کاربران یا برنامه ها هستند. مجموعه ای از برنامه های صفحه بندی ممکن است از آنها به عنوان کدهای کنترلی برای قرارگیری متن در صفحه استفاده کند.
۳-۲-۲- انواع فرمهای انکدینگ
استانداردهای انکدینگ نه تنها برای هر کاراکتر مقدار عددی یا کدپوینت آن را تشخیص میدهند بلکه چگونگی نمایش مقدار در بیت ها را هم نشان میدهند.
این استانداردها سه نوع فرم انکدینگ را تعریف میکنند که اجازه میدهد داده یکسان در سه حالت فرستاده شود. بایت، کلمه و فرمت دوبل کلمه گرا به عبارت دیگر ۸، ۱۶و ۳۲ بیتبرایهرواحدکددرنظرگرفتهمیشود. هرسهازهمانمجموعهکدرایجاستفادهمیکنندومیتوانندبدونازدستدادندادهبهیکدیگرتبدیلشوند. اینسهفرمبه شرح ذیل میباشد:
UTF-8: برای HTMLو پروتکل های مشابه متداول است. راهی برای تبدیل همه کاراکترها به یک مقدار از بایت ها مانند بایتهای ASCIIدارد.
UTF-16: در محیطی متداول است که نیاز به تعادل بین استفاده موثر از کاراکترها با استفاده اقتصادی از حافظه است. فشرده است و همه کاراکترهای مورد استفاده در یک واحد کد ۱۶ بیتی هستند در حالی که بقیه کاراکترها هم از طریق جفت واحدهای کد ۱۶ بیتی قابل دسترسیاند.
UTF-32: در جایی مفید است که فضای حافظه مهم نباشد اما پهنای ثابت دسترسی به واحد کد مطلوب باشد. هر کاراکتر یونیکد در یک کد تک ۳۲ بیتی انکد میشود.
کلیهی فرمهای انکدینگ حداکثر به ۴ بایت یا ۳۲ بیت از داده برای هر کاراکتر نیاز دارند(مونیکاپاتل، ۲۰۱۲).
۳-۲-۳- یونیکد فارسی/عربی:
با توجه به شباهت زبان فارسی با عربی، کاراکترهای فارسی در بلاک های مربوط به زبان عربی هستند. بلوک عربی از ۰۶۰۰شروع شده و تا ۰۶FFادامه مییابد. “۰۶” اولی که در کاراکترهای عربی یا فارسی میآید نشان دهنده ایناست که این کاراکتر متعلق به بلوک عربی است و دو رقم بعدی کد خود کاراکتر است. به عنوان مثال حرف “م” با کد.
۳-۲-۴- کاراکترهای کنترلی یونیکد
در استاندارد یونیکد که امروزه تقریبا همه نرم افزارها، جهت انکدینگ متون دیجیتال از آن تبعیت میکنند کاراکترهای کنترلی بسیاری وجود دارد که جهت ماهیتهای خاص مورد استفاده قرار میگیرند و در حالت عادی درمتن وجود ندارند(کاراکترهای کنترلی یونیکد، ۲۰۱۴).
در جدول (۳-۱) کاراکترهای کنترلی نامحسوس که در استاندارد یونیکد قرار دارد شرح داده شده است.
جدول ۳-۱: کاراکترهای کنترلی یونیکد (نامحسوس و بدون طول)
نام کاراکتر
کد هگزا
شرح
ZWSP(Zero Width Space)
U+200B
کاراکتر فاصله بدون طول
ZWNJ(Zero Width Non- Joiner)
U+200C
کاراکتر کنترلی متصل کننده کاراکترها
ZWJ(Zero Width Joiner)
U+200D
کاراکتر کنترلی جدا کننده کاراکترها
فرم در حال بارگذاری ...