কেন জাভা অভ্যন্তরীণ স্ট্রিং উপস্থাপনের জন্য ইউটিএফ -16 ব্যবহার করে?


29

আমি কারণটি দ্রুত, সূচকে অক্ষরটিতে অ্যাক্সেসের মতো অ্যারেটি কল্পনা করব তবে কিছু অক্ষর 16 বিটের মধ্যে খাপ খায় না, সুতরাং এটি কার্যকর হবে না ...

সুতরাং আপনার যদি কোনওভাবেই বিশেষ মামলা পরিচালনা করতে হয় তবে কেন কেবল ইউটিএফ -8 ব্যবহার করবেন না?


4
জাভা ডিজাইনারদের কিছু জিজ্ঞাসার জন্য, বৃহত্ সম্প্রদায়কে নয়। গঠনমূলক না বলে বন্ধ করার জন্য ভোট দেওয়া।
ওডে

16
@ ওডেড: ডেড এমএমজি'র উত্তরটি দেখায়, একেবারে অযৌক্তিক।
মাইকেল বর্গওয়ার্ট

আমি বিভ্রান্ত করছি: আমার বয়স চমত্কার নিশ্চিত যে এই প্রশ্নের ইতিমধ্যে উত্তর দেওয়া হয়েছিল (উভয় এখানে ইত্যাদি), কিন্তু আমি নকল (গুলি) খুঁজে পাচ্ছি না।
জোছিম সউর

হিস্টেরিকাল কিসমিসের জন্য। Utf8everywhere.org দেখুন
পাভেল

উত্তর:


47

কারণ এটি ইউসিএস -২ ব্যবহার করত , এটি ছিল একটি দুর্দান্ত স্থির দৈর্ঘ্যের 16 বিট। অবশ্যই, 16 বিট যথেষ্ট না পরিণত। তারা শীর্ষে ইউটিএফ -16 পুনরায় প্রেরণ করেছে।


6
ইউনিকোড এফএকিউ এর একটি উদ্ধৃতি এখানে : Originally, Unicode was designed as a pure 16-bit encoding, aimed at representing all modern scripts. (Ancient scripts were to be represented with private-use characters.) Over time, and especially after the addition of over 14,500 composite characters for compatibility with legacy sets, it became clear that 16-bits were not sufficient for the user community. Out of this arose UTF-16.জাভা প্রকাশের সময় ইউটিএফ -16 এখনও উপস্থিত হয়নি, এবং ইউটিএফ -8 ইউনিকোড স্ট্যান্ডার্ডের অংশ ছিল না a
ম্যালকম

20
ইউসিএস -২ একটি প্রযুক্তিগত শব্দ, এটি একটি বুজওয়ার্ড নয়।
ডেডএমজি

14

মূল অংশের জন্য, সরল এবং সাধারণ ভবিষ্যতের প্রুফিংয়ের স্বার্থে। এটি একটি বিভ্রান্ত কারণ ছিল এবং এটি সম্পর্কে ভুল পথে যাওয়া কিনা তা ভিন্ন প্রশ্ন।

আপনি 2004 সালে জাভা 5 এবং ইউটিএফ -16 এর স্যুইচ সম্পর্কে এই নথিতে তাদের নকশা সংক্রান্ত কিছু সিদ্ধান্তের পিছনে কিছু কারণ দেখতে পাচ্ছেন, যা কিছু ত্রুটিগুলিও ব্যাখ্যা করে: জাভা প্ল্যাটফর্মের পরিপূরক চরিত্রগুলি এবং জাভা বাস্তুতন্ত্র ব্যবহার করে কেন দেখুন তাদের স্ট্যাক জুড়ে বিভিন্ন এনকোডিং?

ইউটিএফ -16 ব্যবহারের ক্ষতির বিষয়ে আরও বিশদের জন্য, এবং কেন সাধারণভাবে ইউটিএফ -8 আরও ভাল বিকল্প হতে পারে, দেখুন ইউটিএফ -16 ক্ষতিকারক হিসাবে বিবেচিত হবে? এবং ইউটিএফ -8 সর্বত্র প্রকাশনা o


8
"ইউটিএফ -16 কে ক্ষতিকারক হিসাবে বিবেচনা করা উচিত?" প্রশ্ন। আমি সম্প্রতি ইউটিএফ -8 সর্বত্র সর্বত্র প্রকাশনা আবিষ্কার করেছি এবং আমি বিশ্বাস করি যে আমি এখন বেশ পুঙ্খানুপুঙ্খভাবে দৃ convinced় বিশ্বাসী। জাভা এটির পক্ষে ভুল হলেও এটির পক্ষে আমি দৃ .়ভাবে নিশ্চিত যে উইন্ডোজ আরও খারাপ কাজ করেছে।
ড্যানিয়েল প্রাইডেন

5
ওয়েল, এটি কোনও আশ্চর্যজনক বিষয় নয় যে উইন্ডোজ এটি আরও ভুল পেয়েছে : তারা আগে ইউনিকোডে স্যুইচ করেছে, তাই তাদের সঠিক পছন্দ এবং কম অভিজ্ঞতা ছিল। জাভা পরে পেয়েছে, আরও সঠিক হয়ে উঠেছে, তবে কিছুটা ভুল। এখন উভয়কেই পুরানো, ভুল-সাধারণ-জ্ঞানসম্পন্ন এপিআইগুলির সাথে বাঁচতে হবে যা তাদের সমর্থন করে চলেছে।
জোছিম সউর

4
সফ্টওয়্যার জগতের এটিই জীবন, আপনাকে সমস্ত ডেটা না রেখেই বাছাই করতে হবে এবং যখন আপনি ভুল করেন আপনি পরিণতিগুলি দীর্ঘকাল ধরে বাঁচতে পারেন। :-)
ব্রায়ান নোব্লাচ

2
আমি আশ্চর্য হই যে পারফরম্যান্সের প্রভাবগুলি stringজাভাতে "বিশেষ" প্রকার তৈরির ক্ষেত্রে কী হত (অনেকটা পছন্দ Arrayহয়), বরং String"সাধারণ" শ্রেণি হওয়ার চেয়ে যা প্রকৃত চরিত্রগুলি সহ "সাধারণ" অ্যারের রেফারেন্স রাখে। স্ট্রিং কীভাবে উত্পন্ন হয় তার উপর নির্ভর করে ইউটিএফ -8, ইউটিএফ -16, এমনকি ইউটিএফ -32 এটি সংরক্ষণের সবচেয়ে কার্যকর উপায় হতে পারে। আমি মনে করি না যে "সাধারণ" শ্রেণীর Stringএকাধিক ফর্ম্যাট পরিচালনা করার জন্য কোনও বিশেষ উপায় আছে তবে জেভিএম সমর্থন সহ একটি "বিশেষ" ধরণটি পারে।
সুপারক্যাট

@ সুপের্যাট: এর জন্য আমার কাছে ঠিক একটি সুনির্দিষ্ট উত্তর নেই, তবে আমি এর জন্য একটি সম্পর্কিত এসও উত্তর পেয়েছি । :) প্রকৃতপক্ষে বিশেষ ধরণের পদ্ধতির ঠিকানা দেয় না, তবে স্ট্রিমলাইনযুক্ত স্ট্রিংগুলির সম্ভাব্য লাভ সম্পর্কে আলোচনা করে।
হাইলেম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.