ইউনিকোড ডিকোডার

Unicode escape ও টেক্সটের মধ্যে রূপান্তর করুন, কোড পয়েন্ট খুঁজুন, আর বিকৃত টেক্সট (mojibake) ঠিক করুন। \uXXXX, \UXXXXXXXX ও &#XXXX; এন্টিটি সমর্থিত। সব প্রসেসিং আপনার ব্রাউজারে।

এনকোড ও ডিকোড অক্ষরের তথ্য ক্লায়েন্ট-সাইড প্রসেসিং
ফলাফল এখানে দেখা যাবে...

ইউনিকোড ডিকোডার ব্যবহারের পদ্ধতি

1

মোড বেছে নিন

Decode (escape থেকে টেক্সট) বা Encode (টেক্সট থেকে escape) মোড নির্বাচন করুন।

2

ইনপুট দিন

মোড অনুযায়ী Unicode escape বা সাধারণ টেক্সট পেস্ট করুন।

3

রূপান্তর করুন

Convert ক্লিক করে ফলাফল ও অক্ষরের বিবরণ দেখুন।

Unicode এনকোডিং কী?

Unicode এনকোডিংয়ের মাধ্যমে যেকোনো ভাষা বা প্রতীক ব্যবস্থার অক্ষর বিভিন্ন ফরম্যাটে উপস্থাপন করা যায়। সাধারণ ফরম্যাট: \uXXXX (JavaScript/JSON), &#NNNNN; (HTML এন্টিটি), এবং U+XXXX (Unicode কোড পয়েন্ট)। এই এনকোডিং নিশ্চিত করে টেক্সট বিভিন্ন সিস্টেমে নিরাপদে স্থানান্তর ও প্রদর্শন করা যায়।

এনকোডিং ফরম্যাট

JavaScript (\uXXXX)

JSON ও JavaScript স্ট্রিংয়ে ব্যবহৃত

HTML এন্টিটি (&#XXXX;)

HTML-এ বিশেষ অক্ষর উপস্থাপনে ব্যবহৃত

CSS Escape (\XXXXXX)

CSS content ও identifier-এ ব্যবহৃত

বিকৃত টেক্সট ঠিক করুন (Mojibake মেরামত)

এক ক্যারেক্টার সেটে এনকোড করা টেক্সট অন্য সেট দিয়ে ডিকোড করলে বিকৃত টেক্সট (mojibake) দেখা দেয়। সবচেয়ে সাধারণ ক্ষেত্র: UTF-8 বাইট Windows-1252 বা Latin-1 হিসেবে পড়া হয়, ফলে "café" হয়ে যায় "café" এবং "张三" হয়ে যায় "å¼ ä¸‰"। উপরের Fix Garbled Text মোডে যান, ভাঙা টেক্সট পেস্ট করুন — ডিকোডার প্রতিটি অক্ষরকে কাঁচা বাইট হিসেবে ধরে ফলাফলটি আবার UTF-8 হিসেবে ডিকোড করে মূল অক্ষর পুনর্গঠন করবে।

সাধারণ বিকৃত টেক্সটের উদাহরণ

বিকৃত মেরামতকৃত কারণ
café café UTF-8 → Latin-1
å¼ ä¸‰ 张三 UTF-8 → Latin-1
“hi†“hi” UTF-8 → double-encoded
ü ö ñ ü ö ñ UTF-8 → Windows-1252
�� � � বাইট ইতিমধ্যেই হারানো (U+FFFD)

নিজের অ্যাপে mojibake ঠেকাতে এনকোডিং সবসময় স্পষ্টভাবে ঘোষণা করুন: HTML-এ <meta charset="UTF-8"> দিন, Content-Type: text/html; charset=utf-8-এর মতো HTTP হেডার সেট করুন, এবং ডেটাবেস ও কানেকশনে ধারাবাহিকভাবে UTF-8 ব্যবহার করুন।

UTF-8 vs UTF-16 vs UTF-32 তুলনা

UTF-8 UTF-16 UTF-32
এনকোডিং ইউনিট 8 bit 16 bit 32 bit
A (U+0041) 41 00 41 00 00 00 41
é (U+00E9) C3 A9 00 E9 00 00 00 E9
中 (U+4E2D) E4 B8 AD 4E 2D 00 00 4E 2D
🎉 (U+1F389) F0 9F 8E 89 D8 3C DF 89 00 01 F3 89
সবচেয়ে উপযুক্ত ওয়েব, JSON, API — ASCII-সামঞ্জস্যপূর্ণ ও কমপ্যাক্ট Java, JavaScript, C#-এর মেমরি-অভ্যন্তরীণ টেক্সট সরাসরি কোড পয়েন্ট অ্যাক্সেস, ব্যবহারে বিরল

সাধারণ Unicode কোড পয়েন্ট

প্রায়ই খোঁজা অক্ষরের দ্রুত রেফারেন্স: যতিচিহ্ন, কারেন্সি প্রতীক, উচ্চারণযুক্ত অক্ষর ও গণিত চিহ্ন, তাদের U+XXXX কোড পয়েন্টসহ।

যতিচিহ্ন ও প্রতীক

“U+201C ”U+201D ‘U+2018 ’U+2019
–U+2013 —U+2014 …U+2026  U+A0
©U+A9 ®U+AE ™U+2122 °U+B0

কারেন্সি চিহ্ন

€U+20AC £U+A3 ¥U+A5 ₹U+20B9
¢U+A2 ₽U+20BD ₩U+20A9 ฿U+E3F

উচ্চারণযুক্ত অক্ষর

éU+E9 èU+E8 êU+EA üU+FC
öU+F6 ñU+F1 åU+E5 øU+F8
çU+E7 ßU+DF ąU+105 žU+17E

গণিত ও তীর চিহ্ন

±U+B1 ×U+D7 ÷U+F7 ≈U+2248
≠U+2260 ≤U+2264 ≥U+2265 →U+2192
∞U+221E ∑U+2211 √U+221A µU+B5

সাধারণ জিজ্ঞাসা

কোন কোন Unicode escape ফরম্যাট সমর্থিত?

এই টুল ডিকোডিংয়ের জন্য \uXXXX (BMP), \UXXXXXXXX (সম্পূর্ণ Unicode), &#DDDD; (দশমিক HTML এন্টিটি), &#xHHHH; (হেক্স HTML এন্টিটি), এবং U+XXXX (কোড পয়েন্ট নোটেশন) সমর্থন করে।

UTF-8 এনকোডিং কীভাবে কাজ করে?

UTF-8 প্রতিটি Unicode কোড পয়েন্ট ১ থেকে ৪ বাইটে এনকোড করে। ASCII অক্ষর (U+0000 থেকে U+007F) ১ বাইট, ল্যাটিন ও অন্যান্য সাধারণ অক্ষর ২ বাইট, বেশিরভাগ CJK অক্ষর ৩ বাইট, আর ইমোজি ও বিরল অক্ষর ৪ বাইট নেয়।

\u এবং \U-এর পার্থক্য কী?

\uXXXX ৪টি হেক্স ডিজিট ব্যবহার করে এবং Basic Multilingual Plane-এর অক্ষর (U+0000 থেকে U+FFFF) উপস্থাপন করতে পারে। \UXXXXXXXX ৮টি হেক্স ডিজিট ব্যবহার করে এবং BMP-এর বাইরেরসহ যেকোনো Unicode অক্ষর উপস্থাপন করতে পারে।

আমার টেক্সটে "é" বা "�"-এর মতো অক্ষর কেন দেখায়, আর কীভাবে ঠিক করব?

এগুলো mojibake-এর লক্ষণ: UTF-8 বাইট Windows-1252/Latin-1 হিসেবে ডিকোড হয়েছে। "é" মানে "é"-এর দুটি UTF-8 বাইট (0xC3 0xA9) দুটি আলাদা অক্ষর হিসেবে দেখানো হয়েছে — Fix Garbled Text মোড দিয়ে মেরামত করুন। "�" হলো U+FFFD, বাইট ইতিমধ্যেই অবৈধ থাকলে তৈরি হওয়া রিপ্লেসমেন্ট অক্ষর — সেই তথ্য হারিয়ে গেছে, ফেরানো যায় না।

UTF-8 এবং UTF-16-এর পার্থক্য কী?

UTF-8 অক্ষর ১–৪ বাইটে এনকোড করে ও সম্পূর্ণ ASCII-সামঞ্জস্যপূর্ণ, তাই ওয়েব, JSON ও বেশিরভাগ API-এর ডিফল্ট। UTF-16 অক্ষর ২ বা ৪ বাইটে এনকোড করে (U+FFFF-এর বাইরের অক্ষরে সারোগেট জোড়া) এবং JavaScript, Java, Windows অভ্যন্তরীণভাবে এটি ব্যবহার করে। ওয়েবের বেশিরভাগ টেক্সটে UTF-8 ছোট ও নিরাপদ।

কোড পয়েন্ট ও কোড ইউনিটের পার্থক্য কী?

কোড পয়েন্ট হলো Unicode মানে কোনো অক্ষরকে দেওয়া সংখ্যা (e-acute-এর জন্য U+00E9); কোড ইউনিট হলো এনকোডিংয়ের স্টোরেজ ইউনিট। UTF-8 কোড ইউনিট ৮-বিট বাইট - U+00E9 দুটি নেয় - আর UTF-16 কোড ইউনিট ১৬-বিট, U+FFFF-এর বাইরের অক্ষরে দুটি লাগে (সারোগেট জোড়া)। JavaScript স্ট্রিং UTF-16, তাই 'hello'.length হলো ৫ কিন্তু একটি ইমোজির .length হলো ২।

Unicode নরমালাইজেশন ফর্ম কী এবং কখন গুরুত্বপূর্ণ?

একই দৃশ্যমান অক্ষরের একাধিক বাইট সিকোয়েন্স থাকতে পারে: e-acute একটি প্রিকম্পোজড অক্ষর হিসেবে (NFC) বা e এবং একটি কম্বাইনিং উচ্চারণ হিসেবে (NFD)। NFC যুক্ত করে, NFD ভাঙে, আর NFKC/NFKD অতিরিক্তভাবে কম্প্যাটিবিলিটি অক্ষর ভাঁজ করে (ফুল-উইডথ রূপ, লিগেচার)। আগে নরমালাইজ না করে ব্যবহারকারীর ইনপুট তুলনা বা হ্যাশ করা ডুপ্লিকেট অ্যাকাউন্ট ও ব্যর্থ লুকআপের ক্লাসিক উৎস - fi লিগেচার বনাম f+i।

BOM কী এবং কেন আমার ফাইল নষ্ট করে?

বাইট অর্ডার মার্ক হলো স্ট্রিমের শুরুতে এনকোড করা U+FEFF (UTF-8-এ EF BB BF) যা এনকোডিং জানায়। এডিটর সাধারণত এটি লুকিয়ে রাখে, কিন্তু ডাউনস্ট্রিমে এটি একটি অদৃশ্য প্রথম অক্ষর হয়ে যায়: CSV হেডারে একটি ভুতুড়ে কী যোগ হয়, অতিরিক্ত টোকেনে JSON পার্সিং ব্যর্থ হয়, আর PHP সেশন হেডারের আগে এটি পাঠায়। UTF-8-এর বাইট-অর্ডার অস্পষ্টতা নেই বলে BOM দরকার নেই - ছাড়াই সেভ করুন।

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}