В контексте языков программирования и их стандартных библиотек разработчики очень часто не задумываются и даже не представляют насколько вопросы о строках и датах не просты, все привыкли делать let str = ""
и на этом повседневные потребности исчерпываются, но самый банальный вопрос что такое длинна строки в языке программирования может ввести в ступор. Пример длинны строки в разных языках программирования:
print("😎".count) // Swift: 1
print(NSString("😎").length) // Swift with NSString: 2
console.log('😎'.length) // JavaScript: 2
fmt.Println(len("😎")) // Go: 4
40-60 лет назад где-нибудь для американцев для строки было достаточно сделать однобайтный массив с символами из ASCII. Сейчас это ой как не достаточно, по этому каждый язык программирования решает эту проблему по своему.
Простая строка текста скрывает за собой такие вопросы как Unicode и все его фишки в виде символов состоящих из нескольких кодов, представление строк в бинарном виде ибо символов больше чем два байта по этому появляются такие вещи как UTF-8, UTF-16 и UTF-32, так же мы еще не говорим о рендеринге строк ибо тут так же все не просто, достаточно вспомнить про лигатуры. Незная этих деталей не получится максимально точно понять что такое строка.