এখানে অদৃশ্য অক্ষর রয়েছে যা কোডটি কীভাবে প্রদর্শিত হবে তা পরিবর্তন করে। ইন্টেলিজে এগুলি কোডটি একটি খালি স্ট্রিং ( ""
) এ অনুলিপি-পেস্ট করে পাওয়া যাবে , যা ইউনিকোড পলায়নের সাথে তাদের প্রতিস্থাপন করে, তাদের প্রভাবগুলি সরিয়ে এবং সংকলকটি দেখতে পায় এমন ক্রমটি প্রকাশ করে।
এখানে সেই অনুলিপি-পেস্টের আউটপুট দেওয়া হচ্ছে:
"class M\u202E{public static void main(String[]a\u202D){System.out.print(new char[]\n"+
"{'H','e','l','l','o',' ','W','o','r','l','d','!'});}} "
উত্স কোড অক্ষরগুলি এই ক্রমে সংরক্ষণ করা হয়, এবং সংকলক তাদের এই ক্রমে হিসাবে বিবেচনা করে তবে সেগুলি অন্যরকম প্রদর্শিত হয়।
\u202E
অক্ষরটি নোট করুন , যা ডান থেকে বাম ওভাররাইড, এমন একটি ব্লক শুরু করুন যেখানে সমস্ত অক্ষরকে ডান থেকে বামে প্রদর্শিত হতে বাধ্য করা হয় এবং একটি \u202D
, যা নীচে থেকে ডানে ওভাররাইড হয়, সেখানে নেস্টেড ব্লক শুরু করে যেখানে সমস্ত অক্ষরগুলি প্রথম ওভাররাইডকে ওভাররাইড করে বাম থেকে ডান ক্রমে বাধ্য করা হয়।
এরগো, যখন এটি মূল কোডটি প্রদর্শন করে, তখন class M
সাধারণত প্রদর্শিত হয়, তবে \u202E
সেখান থেকে সমস্ত কিছুর প্রদর্শন ক্রমকে বিপরীত করে \u202D
, যা সবকিছু আবার বিপরীত করে দেয়। (আনুষ্ঠানিকভাবে, \u202D
লাইন টার্মিনেটর থেকে শুরু করে সবকিছুই দুবার বিপরীত হয়, একবার কারণে \u202D
এবং একবারে বাক্যটি আবার একবারের সাথে বিপরীত হয় \u202E
, এই কারণেই এই পাঠ্যটি শেষের পরিবর্তে লাইনের মাঝখানে প্রদর্শিত হয়)) পরের লাইনের দিকনির্দেশটি লাইন টার্মিনেটরের কারণে প্রথমটির স্বাধীনভাবে পরিচালিত হয়, তাই {'H','e','l','l','o',' ','W','o','r','l','d','!'});}}
সাধারণত প্রদর্শিত হয়।
পূর্ণ (অত্যন্ত জটিল, কয়েক ডজন পৃষ্ঠাগুলি) জন্য ইউনিকোড দ্বি নির্দেশমূলক অ্যালগরিদম, ইউনিকোড স্ট্যান্ডার্ড অ্যাঙ্কেক্স # 9 দেখুন ।