সুতরাং আমি জানি String#codePointAt(int), তবে এটি charঅফসেট দ্বারা সূচিযুক্ত, কোডপয়েন্ট অফসেট দ্বারা নয়।
আমি এরকম কিছু চেষ্টা করার বিষয়ে ভাবছি:
- একটি সূচক এ
String#charAt(int)পেতে ব্যবহারchar charএটি উচ্চ-সারোগেটের ব্যাপ্তিতে রয়েছে কিনা তা পরীক্ষা করে দেখানো হচ্ছে- যদি তা হয়
String#codePointAt(int)তবে কোডপয়েন্ট পেতে, এবং সূচকটি 2 দ্বারা বাড়িয়ে নিন - যদি তা না
charহয় তবে প্রদত্ত মান কোডপয়েন্ট হিসাবে ব্যবহার করুন এবং সূচকে 1 দ্বারা বৃদ্ধি করুন
- যদি তা হয়
তবে আমার উদ্বেগগুলি
- আমি নিশ্চিত নই যে উচ্চ-সারোগেটের পরিসরে প্রাকৃতিকভাবে থাকা কোডপয়েন্টগুলি দুটি
charমান বা একটি হিসাবে সংরক্ষণ করা হবে - এটি অক্ষরের মাধ্যমে পুনরাবৃত্তি করার এক ভয়ঙ্কর ব্যয়বহুল উপায় বলে মনে হচ্ছে
- কেউ নিশ্চয়ই আরও ভাল কিছু নিয়ে এসেছিল।