مبدل متن ↔ یونیکد
متن
یونیکد
جزئیات فنی
مبدل متن ↔ یونیکد چگونه کار میکند
این ابزار چه کاری انجام میدهد
ابزار متن ↔ یونیکد، متن را به/از کدپوینتهای یونیکد در چندین نگارش تبدیل میکند: U+XXXX، اسکیپهای جاوااسکریپت (\uXXXX یا \u{XXXXX})، دهدهی، 0xHEX و موجودیتهای عددی HTML (&#N; یا &#xHEX;). دیکودر انعطافپذیر است — هر ترکیبی از این نگارشها را که لابهلای متن آمده باشد تشخیص میدهد و کدپوینتها را استخراج میکند. انکودر به شما اجازه میدهد قالب خروجی و جداکنندهی بین کدپوینتها را انتخاب کنید.
موارد استفادهٔ رایج برای توسعهدهندگان
توسعهدهندگان فرانتاند از این ابزار برای تبدیل ایموجی و نویسههای CJK به توالیهای اسکیپ ASCII امن برای فایلهای JSON، کد منبع یا انتقال از کانالهای محدودکننده استفاده میکنند. مهندسان بومیسازی کدپوینتهای دقیقِ بهکاررفته در یک رشتهی ترجمهشده را بررسی میکنند. این ابزار همچنین برای پیدا کردن نویسههای نامرئی یا شبیهبههم (هموگلیفها، اتصالدهندههای با عرض صفر، نشانهای RTL) که داخل یک قطعهی کپیشده پنهان شدهاند مفید است.
قالبها، نوعها یا گونههای داده
نگارش استاندارد یونیکد برای صفحهی چندزبانهی پایه U+XXXX و برای صفحات تکمیلی U+XXXXX است. اسکیپهای جاوااسکریپت برای BMP از \uXXXX و برای کل بازه از \u{XXXXX} (ES2015+) استفاده میکنند. HTML موجودیتهای عددی را میپذیرد (دهدهی &#N; یا هگز &#xN;). قالبهای دهدهی ساده و 0xHEX بدون تفسیر اضافی از طریق codePointAt / fromCodePoint رفتوبرگشت میشوند. نویسههای آسترال (ایموجیهایی مثل 🌍) بهصورت یک کدپوینتِ واحد بالاتر از U+FFFF نمایش داده میشوند.
دامهای رایج و حالتهای لبهای
نویسههای آسترال را نمیتوان با شکل قدیمی \uXXXX بیان کرد، چون هر اسکیپ فقط ۴ رقم هگز دارد — از \u{...} یا یک جفت سورروگیت استفاده کنید. کدپوینتهای بالاتر از U+10FFFF طبق مشخصات یونیکد نامعتبرند و رد خواهند شد. علائم ترکیبی و توالیهای ایموجی ZWJ بهصورت چند کدپوینت ظاهر میشوند، حتی اگر به شکل یک گلیف واحد رندر شوند. دیکودر موجودیتهای نامدار HTML (©، &) را تفسیر نمیکند — برای آنها از یک دیکودر اختصاصی HTML استفاده کنید.
چه زمانی از این ابزار استفاده کنیم در برابر کُد
برای بررسی سریع، تولید توالیهای اسکیپ و شکار هموگلیف از ابزار مرورگر استفاده کنید. در کد، APIهای بومی رشته را ترجیح دهید (`String.fromCodePoint`، `Array.from(str)` برای پیمایش بر اساس کدپوینت در JS؛ `chr` و `ord` در پایتون؛ `Character.toCodePoint` در جاوا) و وقتی به نرمالسازی (NFC/NFD)، case folding یا بخشبندی خوشههای گرافمی نیاز دارید از کتابخانههای کامل ICU استفاده کنید.