Предположим, у нас есть произвольная строка, s .
s обладает способностью быть практически из любой точки мира. Люди из США, Японии, Кореи, России, Китая и Греции время от времени пишут в s . К счастью, у нас нет путешественников во времени, использующих Linear A.
Для обсуждения давайте предположим, что мы хотим выполнить строковые операции, такие как:
- обратная * * 1016
- длина
- 1020 * капитализировать *
- строчные буквы
- индекс в
и , просто потому, что это ради обсуждения, давайте предположим, что мы хотим сами написать эти подпрограммы (вместо того, чтобы взять библиотеку), и у нас нет устаревшего программного обеспечения поддерживать.
Существует 3 стандарта Unicode: utf-8, utf-16 и utf-32, каждый со своими плюсами и минусами. Но, скажем, я немного тупой, и я хочу, чтобы один Unicode управлял ими всеми (потому что создание динамически адаптируемой библиотеки для 3 различных типов кодирования строк, которая скрывает разницу от API пользователя, звучит сложно).
- Какая кодировка наиболее общая?
- Какая кодировка поддерживается wchar_t?
- Какая кодировка поддерживается STL?
- Все ли эти кодировки (или вовсе не) завершены нулем?
-
Суть этого вопроса состоит в том, чтобы научить себя и других полезной и полезной информации для Unicode: чтение RFC - это хорошо, но есть «стопка» информации, относящейся к компиляторам, языкам и операционным системам, которую RFC не делают. Обложка, но важно знать, чтобы на самом деле использовать Unicode в реальном приложении.