ইউনিকোড ডিকোডার
Unicode escape ও টেক্সটের মধ্যে রূপান্তর করুন, কোড পয়েন্ট খুঁজুন, আর বিকৃত টেক্সট (mojibake) ঠিক করুন। \uXXXX, \UXXXXXXXX ও &#XXXX; এন্টিটি সমর্থিত। সব প্রসেসিং আপনার ব্রাউজারে।
ফলাফল এখানে দেখা যাবে...
অক্ষরের তথ্য
| অক্ষর | কোড পয়েন্ট | UTF-8 বাইট | HTML এন্টিটি | CSS Escape | JS Escape |
|---|
ইউনিকোড ডিকোডার ব্যবহারের পদ্ধতি
মোড বেছে নিন
Decode (escape থেকে টেক্সট) বা Encode (টেক্সট থেকে escape) মোড নির্বাচন করুন।
ইনপুট দিন
মোড অনুযায়ী Unicode escape বা সাধারণ টেক্সট পেস্ট করুন।
রূপান্তর করুন
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 |
সাধারণ জিজ্ঞাসা
এই টুল ডিকোডিংয়ের জন্য \uXXXX (BMP), \UXXXXXXXX (সম্পূর্ণ Unicode), &#DDDD; (দশমিক HTML এন্টিটি), &#xHHHH; (হেক্স HTML এন্টিটি), এবং U+XXXX (কোড পয়েন্ট নোটেশন) সমর্থন করে।
UTF-8 প্রতিটি Unicode কোড পয়েন্ট ১ থেকে ৪ বাইটে এনকোড করে। ASCII অক্ষর (U+0000 থেকে U+007F) ১ বাইট, ল্যাটিন ও অন্যান্য সাধারণ অক্ষর ২ বাইট, বেশিরভাগ CJK অক্ষর ৩ বাইট, আর ইমোজি ও বিরল অক্ষর ৪ বাইট নেয়।
\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 অক্ষর ১–৪ বাইটে এনকোড করে ও সম্পূর্ণ 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 হলো ২।
একই দৃশ্যমান অক্ষরের একাধিক বাইট সিকোয়েন্স থাকতে পারে: e-acute একটি প্রিকম্পোজড অক্ষর হিসেবে (NFC) বা e এবং একটি কম্বাইনিং উচ্চারণ হিসেবে (NFD)। NFC যুক্ত করে, NFD ভাঙে, আর NFKC/NFKD অতিরিক্তভাবে কম্প্যাটিবিলিটি অক্ষর ভাঁজ করে (ফুল-উইডথ রূপ, লিগেচার)। আগে নরমালাইজ না করে ব্যবহারকারীর ইনপুট তুলনা বা হ্যাশ করা ডুপ্লিকেট অ্যাকাউন্ট ও ব্যর্থ লুকআপের ক্লাসিক উৎস - fi লিগেচার বনাম f+i।
বাইট অর্ডার মার্ক হলো স্ট্রিমের শুরুতে এনকোড করা U+FEFF (UTF-8-এ EF BB BF) যা এনকোডিং জানায়। এডিটর সাধারণত এটি লুকিয়ে রাখে, কিন্তু ডাউনস্ট্রিমে এটি একটি অদৃশ্য প্রথম অক্ষর হয়ে যায়: CSV হেডারে একটি ভুতুড়ে কী যোগ হয়, অতিরিক্ত টোকেনে JSON পার্সিং ব্যর্থ হয়, আর PHP সেশন হেডারের আগে এটি পাঠায়। UTF-8-এর বাইট-অর্ডার অস্পষ্টতা নেই বলে BOM দরকার নেই - ছাড়াই সেভ করুন।
সম্পর্কিত সরঞ্জাম
Hex ডিকোডার
হেক্সাডেসিমাল ও টেক্সটের মধ্যে রূপান্তর করুন — কনফিগারযোগ্য ডেলিমিটার ও প্রিফিক্স অপশন সমর্থিত
HTML Entity ডিকোডার
HTML entity এনকোড ও ডিকোড করুন — বিশেষ ক্যারেক্টার ও entity রেফারেন্সের মধ্যে রূপান্তর
Base64 URL ডিকোডার পার্সার
Base64 ডিকোড ও এনকোড করুন, URL-এনকোডেড স্ট্রিং পার্স করুন, Base64 ছবি প্রিভিউ করুন এবং JWT হেডার বা পেলোড সেগমেন্ট ডিকোড করুন
প্রামাণ্য রেফারেন্স
এই সরঞ্জামের পেছনের মূল উৎস — দ্বিতীয় হাতের সারাংশ নয়, বরং অফিসিয়াল স্ট্যান্ডার্ড ও স্পেসিফিকেশন।