যেহেতু এটি এখনও লক্ষ করা যায় নি, এখানে একটি ব্যাখ্যা, কেন ইউনিকোড অনুবাদ অন্য যে কোনও উত্স কোড প্রসেসিংয়ের আগে ঘটে না:
এর পিছনে ধারণাটি ছিল যে এটি বিভিন্ন চরিত্রের এনকোডিংয়ের মধ্যে জাভা উত্স কোডের নিখুঁত অনুবাদগুলির অনুমতি দেয়। আজ, ইউনিকোডের বিস্তৃত সমর্থন রয়েছে, এবং এটি কোনও সমস্যার মতো মনে হচ্ছে না, তবে পশ্চিমা দেশ থেকে আসা কোনও বিকাশকারীকে এশিয়ান চরিত্রগুলি সহ তার এশীয় সহকর্মীর কাছ থেকে কিছু উত্স কোড গ্রহণ করা, কিছু পরিবর্তন করা সহজ ছিল না ( এটি সংকলন এবং পরীক্ষা সহ) এবং কোনও কিছু ক্ষতি না করেই ফলাফলটি ফেরত পাঠানো সহ।
সুতরাং, জাভা উত্স কোডটি যে কোনও এনকোডিংয়ে লেখা যেতে পারে এবং শনাক্তকারী, চরিত্র এবং String
আক্ষরিক এবং মন্তব্যগুলির মধ্যে বিস্তৃত অক্ষরের অনুমতি দেয় । তারপরে, এটিকে নিখুঁতভাবে স্থানান্তর করতে, লক্ষ্য এনকোডিং দ্বারা সমর্থিত সমস্ত অক্ষর তাদের ইউনিকোড পলায়ন দ্বারা প্রতিস্থাপিত হবে।
এটি একটি বিপরীতমুখী প্রক্রিয়া এবং মজার বিষয় হ'ল অনুবাদ কোনও সরঞ্জাম দ্বারা করা যেতে পারে যা জাভা উত্স কোড সিনট্যাক্স সম্পর্কে অনুবাদের নিয়ম নির্ভর করে না বলে কিছু জানতে হবে না। এটি কম্পাইলারের অভ্যন্তরে তাদের প্রকৃত ইউনিকোড অক্ষরের অনুবাদ হিসাবে কাজ করে জাভা উত্স কোড বাক্য গঠনতেও স্বাধীনভাবে ঘটে। এটি সূচিত করে যে আপনি উত্স কোডের অর্থটি কখনও পরিবর্তন না করেই উভয় দিকেই একধরনের অনুবাদ পদক্ষেপগুলি সম্পাদন করতে পারেন।
এটি অন্য একটি অদ্ভুত বৈশিষ্ট্যের কারণ যা এমনকি উল্লেখ করা হয়নি: \uuuuuuxxxx
বাক্য গঠন:
যখন কোনও অনুবাদ সরঞ্জাম অক্ষরগুলি থেকে বাঁচতে থাকে এবং এমন একটি অনুক্রমের মুখোমুখি হয় যা ইতিমধ্যে একটি পালানো ক্রম রয়েছে, তখন u
রূপান্তরিত \ucafe
হয়ে ক্রম হিসাবে এটি একটি অতিরিক্ত সন্নিবেশ করা উচিত \uucafe
। অর্থটি পরিবর্তিত হয় না, তবে অন্য দিকে রূপান্তর করার সময়, সরঞ্জামটি কেবল একটি সরিয়ে ফেলতে হবে u
এবং কেবল u
তাদের ইউনিকোড অক্ষর দ্বারা এককযুক্ত ক্রমগুলি প্রতিস্থাপন করা উচিত । এইভাবে, এমনকি ইউনিকোড পলায়নগুলি পিছনে পিছনে রূপান্তর করার সময় তাদের মূল ফর্ম ধরে রাখা হয়। আমার ধারণা, কেউই সেই বৈশিষ্ট্যটি ব্যবহার করেনি ...