Foundationপ্রথম নীতি থেকে
LEVEL 1 · How Computers Represent Information

Code Point

কোড পয়েন্ট

Unicode-এ একটা abstract অক্ষরের সংখ্যাগত পরিচয় (`U+XXXX`) — এটা byte encoding না, শুধু 'কোন অক্ষর' তার লেবেল।

U+0041 মানে “লাতিন বড় হাতের A”। U+0995 মানে বাংলা “ক”। U+1F600 মানে 😀। এটাই code point — একটা abstract সংখ্যাগত লেবেল, byte representation না।

Code point আর byte এক জিনিস না — এটা গুলিয়ে ফেলা সবচেয়ে সাধারণ ভুল। একটা code point [[utf-8]]-তে ১-৪ byte নিতে পারে।

আরও সূক্ষ্ম পার্থক্য: code point আর মানুষের চোখে “একটা অক্ষর” (grapheme)-ও সবসময় এক না। বাংলার মতো ভাষায় একটা visually একক অক্ষর (যেমন একটা যুক্তাক্ষর) একাধিক code point দিয়ে গঠিত হতে পারে — একটা ব্যঞ্জনবর্ণ + একটা হসন্ত + আরেকটা ব্যঞ্জনবর্ণ। তাই len(string) কে code point সংখ্যা ধরে নেওয়া, আর সেটাকেই “কতগুলো অক্ষর” ধরে নেওয়া — দুইটা আলাদা ভুল যা [[grapheme-cluster]] concept-এ সমাধান হয়।