আমি নন-স্ট্যান্ডার্ড% ইউএক্সএক্সএক্সএক্সএক্স স্কিমটি জানি, তবে ডাব্লু 3 সি দ্বারা এই প্রকল্পটি প্রত্যাখ্যান হওয়ার পরে এটি কোনও বুদ্ধিমান পছন্দ বলে মনে হয় না।
কিছু আকর্ষণীয় উদাহরণ:
হৃদয়ের চরিত্র। যদি আমি এটি আমার ব্রাউজারে টাইপ করি:
http://www.google.com/search?q=♥
তারপরে এটি অনুলিপি করুন এবং এটি আটকে দিন I
http://www.google.com/search?q=%E2%99%A5
যা দেখে মনে হয় ফায়ারফক্স (বা সাফারি) এটি করছে।
urllib.quote_plus(x.encode("latin-1"))
'%E2%99%A5'
ট্রিপল ডট চরিত্রের মতো ল্যাটিন -১ এ এনকোড করা যায় না এমন জিনিসগুলি বাদ দিয়ে তা বোঝায়।
…
আমি যদি URL টি টাইপ করি
http://www.google.com/search?q=…
আমার ব্রাউজারে অনুলিপি করুন এবং পেস্ট করুন, আমি পেয়েছি
http://www.google.com/search?q=%E2%80%A6
পেছনে. যা করার ফলাফল বলে মনে হচ্ছে
urllib.quote_plus(x.encode("utf-8"))
যেহেতু তা বোঝায় ... লাতিন -১ এর সাথে এনকোড করা যায় না।
তবে তখন এটি আমার কাছে পরিষ্কার নয় যে ব্রাউজারটি কীভাবে ইউটিএফ -8 বা ল্যাটিন -1 দিয়ে ডিকোড করতে হবে তা জানে।
যেহেতু এটি অস্পষ্ট বলে মনে হচ্ছে:
In [67]: u"…".encode('utf-8').decode('latin-1')
Out[67]: u'\xc3\xa2\xc2\x80\xc2\xa6'
কাজ করে, তাই ব্রাউজারটি ইউটিএফ -8 বা ল্যাটিন -1 দিয়ে ডিকোড করতে হবে কিনা তা আমি জানি না।
আমার বিশেষ চরিত্রগুলির সাথে ডিল করার জন্য সঠিক জিনিসটি কী করা উচিত?