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-এ সমাধান হয়।