mahdijalali313

نحوه پیاده سازی (implementing) سیستم جایگذاری ایموجی

mahdijalali313 ۱۳۹۸/۰۱/۰۶ مباحث عمومی برنامه‌نویسی

سلام ضمن عرض تبریک به مناسبت سال نو یه سؤال داشتم :

می دانیم که ایموجی ها در حقیقت کاراکتر باینری نیستند و از اجتماع مجوعه مشخصی از باینری دار ها تحت یک فرمت معلوم تشکیل می شوند مثلا :

😂 = :joy:

🌷 = :tulip:

می خوام بدونم این سیستمم جایگذاری شکلک به جای این کاراکتر ها چگونه عمل می کند؟

متشکر🌷

پاسخ‌ها به این تاپیک
سهراب عسکرزاده
سهراب عسکرزادهبرنامه نویس وب و ویندوز
۱۳۹۸/۰۱/۱۹

سلام،

جدیدا گویا برای نمایش ایموجی ها از فونت های مخصوص استفاده میشه و به ازای هر Unicode شکلک مخصوص بهشون در set مخصوص هر پلتفورم وجود داره و فقط کافیه پلتفورم مورد استفادتون ازش پشتیبانی کنه (یکی از دلایلی که قیافه ایموجی ها تو پلتفورم های مختلف با هم فرق میکنه همینه که ست فونت هر پلتفورم یا نرم افزار میتونه متفاوت از بقیه باشه)، این لیست ایموجی‌ها و یونیکدشون رو مشاهده کنین.

در روش‌های دیگه از جاگذاری یک رشته مخصوص با عکس مورد نظرمون استفاده میشه(همین مثالتون)، مثل جاگذاری عبارت :joy: در متن یک مطلب وبسایت با یک تگ img که مقدار src اون به محل ذخیره شده‌ی عکسِ خنده اشاره میکنه.

ساخت یک سیستم جاگذاری ایموجی در روشی که فرمودید به طور کلی از 3 بخش تشکیل میشه:

1- ذخیره عکس های مورد نظرمون

2- تخصیص یک شناسه‌ی یکتا به ازای هر ایموجی و بایند کردن اون ها با آدرس ذخیره شده عکس مربوطه در نوعی پایگاه داده.

3- نوشتن یک Encoder اختصاصی به منظور گردش در متن و یافتن عبارت های مربوط به ایموجی و جاگذاری اون ها با تگ img مورد نظر که آدرس عکس مربوطه رو در مقدار src اش ذخیره کردیم. (برای پلتفورم وب)

یعنی یک متن یا نوشته از پایگاه داده خونده میشه، درش گردش میشه، تمام عباراتی که بین : و : قرار گرفتن پیدا میشه، به ازای هر کدوم یک تگ img ساخته میشه و متغیر src اش مقدار دهی میشه و کل تگ با کل عبارت replace میشه. فرض بر اینه که ما تصمیم گرفتیم ایموجی هامون رو با دونقطه از بقیه متن جدا کنیم، میشه از guid و دیگر روش های تفکیک کردن استفاده شه.

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

موفق باشین.