সি ++ তে ইউনিকোড প্রসেসিংয়ের সেরা অনুশীলন কী?
সি ++ তে ইউনিকোড প্রসেসিংয়ের সেরা অনুশীলন কী?
উত্তর:
is_alpha
আপনি চান না এমন সংজ্ঞা না থাকলে কখনও কখনও স্ট্যান্ডার্ড লাইব্রেরি বিল্টইনগুলি ব্যবহার করবেন না।string
, এর জন্য সর্বদা আপনার ইউনিকোড লাইব্রেরি ব্যবহার করুন।আপনি যদি পূর্ববর্তী সি ++ স্ট্যান্ডার্ডগুলির সাথে পিছনের সামঞ্জস্যতা সম্পর্কে চিন্তা না করেন তবে বর্তমান সি ++ 11 স্ট্যান্ডার্ডটি ইউনিকোড সমর্থনে তৈরি করেছে: http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2011 /n3242.pdf
সুতরাং সি ++ তে ইউনিকোড প্রসেসিংয়ের জন্য সত্যিকারের সেরা অনুশীলনটি হ'ল এর জন্য বিল্ট ইন সুবিধাগুলি ব্যবহার করা। পুরানো কোড ঘাঁটিগুলির সাথে এটি সর্বদা কোনও সম্ভাবনা নয় তবে বর্তমানে মানটি এত নতুন।
সম্পাদনা: পরিষ্কার করার জন্য, সি ++ 11 হ'ল ইউনিকোড সচেতন যে এটিতে এখন ইউনিকোড আক্ষরিক এবং ইউনিকোড স্ট্রিংয়ের সমর্থন রয়েছে। তবে মানক পাঠাগারটিতে ইউনিকোড প্রক্রিয়াজাতকরণ এবং রূপান্তরকরণের জন্য কেবল সীমিত সমর্থন রয়েছে । আপনার বর্তমান প্রয়োজনের জন্য এটি যথেষ্ট হতে পারে। তবে, এখনই যদি আপনাকে প্রচুর পরিমাণে ভারী উত্তোলন করতে হয় তবে আপনাকে আরও গভীর-প্রক্রিয়াজাতকরণের জন্য এখনও আইসিইউ জাতীয় কিছু ব্যবহার করতে হতে পারে । বিভিন্ন এনকোডিংয়ের মধ্যে পাঠ্য রূপান্তরকরণের জন্য আরও দৃust় সমর্থন অন্তর্ভুক্ত করার জন্য বর্তমানে কয়েকটি প্রস্তাব রয়েছে। আমার অনুমান (এবং আশা) যে এই পরবর্তী অংশ হতে হবে প্রযুক্তিগত রিপোর্ট ।
আমাদের সংস্থা (এবং অন্যরা) ইউনিকোড (আইসিইউ) লাইব্রেরির জন্য ওপেন সোর্স ইন্টার্নেশন উপাদানগুলি মূলত টালিজেেন্ট দ্বারা বিকাশিত ব্যবহার করে।
এটি স্ট্রিং, লোকেল, রূপান্তর, তারিখ / সময়, কোলেশন, রূপান্তরকরণ, ইত্যাদি পরিচালনা করে। অল।
আইসিইউ ইউজারগাইড দিয়ে শুরু করুন
উইন্ডোজ প্রোগ্রামিংয়ের জন্য এখানে একটি চেকলিস্ট রয়েছে:
C ++ এ সংবেদনশীল স্ট্রিং তুলনা দেখুন
এই প্রশ্নের ইউনিকোডে মাইক্রোসফ্ট ডকুমেন্টেশনের একটি লিঙ্ক রয়েছে: http : //msdn.mic Microsoft.com/en-us/library/cc194799.aspx
আপনি যদি নিবন্ধের পাশের এমএসডিএন-এর বাম-হাতের নেভিগেশন দিকে তাকান, আপনার ইউনিকোড ফাংশন সম্পর্কিত প্রচুর তথ্য খুঁজে পাওয়া উচিত। এটি "এনকোডিং অক্ষর" সম্পর্কিত একটি অধ্যায়ের অংশ ( http://msdn.microsoft.com/en-us/library/cc194786.aspx )
এটিতে নিম্নলিখিত সাবসেকশন রয়েছে:
যদিও এটি সবার জন্য সর্বোত্তম অনুশীলন নাও হতে পারে তবে আপনি নিজের সি ++ ইউনিকোড রুটিন লিখতে পারেন!
আমি এক সপ্তাহান্তে এটি শেষ করেছি finished আমি অনেক কিছু শিখেছি, যদিও আমি এটি 100% বাগ মুক্ত করার গ্যারান্টি দিচ্ছি না, আমি অনেক পরীক্ষা করেছি এবং এটি সঠিকভাবে কাজ করছে বলে মনে হচ্ছে।
আমার কোডটি নতুন বিএসডি লাইসেন্সের আওতায় রয়েছে এবং এটি এখানে পাওয়া যাবে:
http://code.google.com/p/netwidecc/downloads/list
একে ডাব্লুএসইউসিএনভি বলা হয় এবং এটি একটি নমুনা মূল () প্রোগ্রাম নিয়ে আসে যা ইউটিএফ -8, ইউটিএফ -16 এবং স্ট্যান্ডার্ড এএসসিআইআইয়ের মধ্যে রূপান্তর করে। যদি আপনি মূল কোডটি ফেলে দেন তবে আপনি ইউনিকোডে পড়ার / লেখার জন্য একটি দুর্দান্ত গ্রন্থাগার পেয়েছেন।
যেমন উপরে বলা হয়েছে যে একটি বৃহত সিস্টেম ব্যবহার করার সময় একটি লাইব্রেরি হ'ল সেরা বাজি। তবে কিছু সময় আপনি জিনিসগুলি নিজের হাতে পরিচালনা করতে চান না (কারণ গ্রন্থাগারটি মাইক্রো নিয়ামক হিসাবে অনেক সংস্থান ব্যবহার করতে পারে)। এই ক্ষেত্রে আপনি একটি সাধারণ লাইব্রেরি চান যা আপনার প্রয়োজনীয় জিনিসগুলির জন্য অংশগুলি অনুলিপি করতে পারেন।
উইলো শ্ল্যাঞ্জারের উদাহরণ কোডটি একটি ভাল মত মনে হচ্ছে (আরও তথ্যের জন্য তার উত্তর দেখুন)।
আমি আরও একটি কোড পেয়েছি যার মধ্যে ছোট কোড রয়েছে তবে পুরো ত্রুটি যাচাইয়ের অভাব রয়েছে এবং কেবলমাত্র ইউটিএফ -8 পরিচালনা করে তবে অংশগুলি সহজেই নেওয়া সহজ ছিল।
এখানে এম্বেড থাকা লাইব্রেরির একটি তালিকা রয়েছে যা শালীন বলে মনে হচ্ছে।
ইউটিএফ -8 এর সর্বত্র সুপারিশগুলি দেখুন
string
বাইনারি ডেটা হিসাবে চিকিত্সা না করেন তবে।