UTF-8 ≠ Unicode
Обратите внимание:
- ASCII является подмножеством ISO 8859-1.
- ASCII является подмножеством Unicode.
- ASCII является подмножеством UTF-8.
- ISO 8859-1 является подмножеством Unicode.
- ISO 8859-1 являетсяне подмножество UTF-8.
- Unicode - это не то же самое, что UTF-8.
Я настоятельно рекомендую ознакомиться стонкости в современной терминологии .
Если это слишком запутанно, вы можете взглянуть на Radix-50 , у которого репертуар на много порядков меньше, чем у Юникода, но который, тем не менее, демонстрирует некоторые из тех же тонкостей, которые теперь избегают людейв отношении Unicode, наборов символов, наборов кодированных символов, форм кодирования символов и схем кодирования символов.
Java chars
Невозможно удерживать символы
Поскольку вы пришли к этому из Javaна самом деле вы не виноваты в том, что в вашем разуме это явно не отдельные понятия.Это связано с тем, что Java серьезно запутывает эти проблемы, не отделяя точки абсолютного кода (логические символы) набора кодированных символов от простейшей механики одной конкретной формы кодирования символов .
Жалкая связь Java chars
с логическими символами чрезвычайно подвержена ошибкам;возможно, было бы точнее сказать, что смешение программистов на Java одно и то же.В любом случае, теперь, похоже, нет надежды на исправление, когда-либо .
Во всем виноваты истерические морские свиньи, если нужно, но самое милостивое, что вы можете сказать об этом, - это то, что это очень неудачно.Из-за всего этого благие и вполне компетентные программисты, такие как вы, навсегда запутаются, и поэтому будут постоянно писать простой, понятный и неправильный код Java.
Обучение всему этому - единственно возможная паллиативная помощь, но это не настоящее лекарство.