Unicode Normalizer
NFC, NFD, NFKC এবং NFKD ফর্ম ব্যবহার করে Unicode টেক্সট স্বাভাবিক করুন।
ইনপুট
আউটপুট
রিডমি
ইউনিকোড নর্মালাইজেশন কী?
ইউনিকোড একই দৃশ্যমান অক্ষরকে প্রতিনিধিত্ব করার জন্য একাধিক উপায় সংজ্ঞায়িত করে। উদাহরণস্বরূপ, "é" অক্ষরটি একটি একক প্রিকম্পোজড কোড পয়েন্ট (U+00E9) হিসাবে বা "e" অক্ষর অনুসরণ করে একটি সংমিশ্রণকারী তীব্র উচ্চারণ (U+0065 U+0301) হিসাবে সংরক্ষণ করা যেতে পারে। উভয়ই অভিন্নভাবে রেন্ডার হয় কিন্তু বাইট-দ্বারা-বাইট ভিন্ন, যা string তুলনা, অনুসন্ধান এবং পাঠ্য প্রক্রিয়াকরণের জন্য সমস্যা সৃষ্টি করে।
ইউনিকোড নর্মালাইজেশন হল পাঠ্যকে একটি ক্যানোনিক্যাল প্রতিনিধিত্বে রূপান্তরিত করার প্রক্রিয়া যাতে সমতুল্য string গুলি অভিন্ন হয়ে ওঠে। ইউনিকোড স্ট্যান্ডার্ড চারটি নর্মালাইজেশন ফর্ম সংজ্ঞায়িত করে:
- NFC (ক্যানোনিক্যাল ডিকম্পোজিশন, অনুসরণ করে ক্যানোনিক্যাল কম্পোজিশন): প্রিকম্পোজড ফর্ম; সবচেয়ে কমপ্যাক্ট, ওয়েবে এবং বেশিরভাগ অপারেটিং সিস্টেমে ব্যাপকভাবে ব্যবহৃত।
- NFD (ক্যানোনিক্যাল ডিকম্পোজিশন): সম্পূর্ণভাবে বিয়োজিত ফর্ম; প্রতিটি অক্ষর বেস অক্ষর এবং সংমিশ্রণকারী চিহ্নে বিভক্ত।
- NFKC (সামঞ্জস্য ডিকম্পোজিশন, অনুসরণ করে ক্যানোনিক্যাল কম্পোজিশন): NFC এর মতো কিন্তু সামঞ্জস্য অক্ষরগুলিও (যেমন, লিগেচার, সুপারস্ক্রিপ্ট, সম্পূর্ণ-প্রস্থ ভেরিয়েন্ট) তাদের ক্যানোনিক্যাল সমতুল্যে ভাঁজ করে।
- NFKD (সামঞ্জস্য ডিকম্পোজিশন): NFD এর মতো কিন্তু সামঞ্জস্য ডিকম্পোজিশনও প্রয়োগ করে।
টুল বর্ণনা
এই টুলটি ইউনিকোড পাঠ্যকে একটি নর্মালাইজেশন ফর্ম থেকে অন্যটিতে নর্মালাইজ করে। উৎস এবং লক্ষ্য ফর্মগুলি নির্বাচন করুন, আপনার পাঠ্য পেস্ট করুন এবং রূপান্তরিত আউটপুট তাৎক্ষণিকভাবে প্রদর্শিত হয়।
বৈশিষ্ট্য
- সমস্ত চারটি নর্মালাইজেশন ফর্ম: NFC, NFD, NFKC এবং NFKD উভয় উৎস এবং লক্ষ্য হিসাবে সমর্থন করে।
- দ্বিমুখী রূপান্তর: যেকোনো ফর্মের সমন্বয়ের মধ্যে অবাধে স্যুইচ করুন।
- রিয়েল-টাইম আউটপুট: আপনি টাইপ বা পেস্ট করার সাথে সাথে পাঠ্য তাৎক্ষণিকভাবে নর্মালাইজ হয়।
- যেকোনো ইউনিকোড স্ক্রিপ্ট পরিচালনা করে: ল্যাটিন, CJK, আরবি, সিরিলিক এবং অন্য যেকোনো ইউনিকোড-এনকোডেড পাঠ্যের সাথে কাজ করে।
এটি কীভাবে কাজ করে
টুলটি নির্বাচিত লক্ষ্য ফর্মের সাথে স্ট্যান্ডার্ড JavaScript String.prototype.normalize() পদ্ধতি প্রয়োগ করে। এটি ইউনিকোড স্ট্যান্ডার্ড অ্যানেক্স #15 এ সংজ্ঞায়িত ইউনিকোড নর্মালাইজেশনের একটি সম্পূর্ণ স্পেক-সম্মত বাস্তবায়ন।
ব্যবহারের ক্ষেত্র
- String তুলনা সংশোধন: তুলনা বা ইন্ডেক্সিং করার আগে পাঠ্য নর্মালাইজ করুন যাতে দৃশ্যমানভাবে অভিন্ন string গুলি সঠিকভাবে মিলে যায়।
- অনুসন্ধান এবং ডাটাবেস সামঞ্জস্য: ডাটাবেসে সংরক্ষণ করার আগে ব্যবহারকারীর ইনপুটকে একটি একক ফর্মে (সাধারণত NFC) স্ট্যান্ডার্ডাইজ করুন যাতে শুধুমাত্র এনকোডিংয়ে পার্থক্যপূর্ণ ডুপ্লিকেট এন্ট্রি প্রতিরোধ করা যায়।
- সামঞ্জস্য ভাঁজ করা: লিগেচার, সুপারস্ক্রিপ্ট এবং সম্পূর্ণ-প্রস্থ অক্ষরগুলিকে তাদের স্ট্যান্ডার্ড সমতুল্যে সংকুচিত করতে NFKC ব্যবহার করুন অনুসন্ধান ইন্ডেক্সিং বা প্রাকৃতিক ভাষা প্রক্রিয়াকরণের জন্য।