Будучи разработчиком приложения, мне нужно знать Unicode?
Что мне нужно знать о Unicode?
Ответ 1
Unicode - это стандарт, который определяет числовые коды для глифов, используемых в письменной связи. Или, как они говорят сами:
Стандарт для цифровых представление используемых символов в письменном виде языки. Unicode обеспечивает единую средства для хранения, поиска и обмен текстовым текстом на любом языке. Это используется всеми современными компьютерами и основа для обработки текста на интернет. Unicode разработан и поддерживаемый Консорциумом Юникод.
Есть много распространенных, но легко избежать ошибок программирования, совершенных разработчиками, которые не удосужились просвещать себя о Unicode и его кодировках.
- Сначала перейдите в источник для авторитетная, подробная информация и рекомендации по внедрению.
- Как упоминалось другими, Джоэл Спольский имеет хороший список этих ошибки.
- Мне также нравится Elliotte Rusty Harold's Десять заповедей Юникода.
- Разработчики также должны следить за каноническое представление.
Некоторые ключевые понятия, о которых вы должны знать, следующие:
Ответ 2
Ответ 3
Рискуя просто добавить другую ссылку, unicode.org - впечатляющий ресурс.
Короче говоря, это замена для ASCII, предназначенная для обработки буквально каждого персонажа, когда-либо используемого людьми. В Unicode есть всевозможные схемы кодирования для обработки всех этих символов. UTF-8, который в настоящее время является более или менее стандартным, очень тяжело остается одним байтом на символ и идентичен ASCII для первых 7 бит.
(В качестве дополнения есть популярное заблуждение среди программистов, которое вам нужно знать только о Unicode, если вы собираетесь заниматься интернационализацией. Хотя это, конечно, одно, это не единственный. Например, я работая над проектом, который будет использовать только текст на английском языке, но с огромным количеством причудливых математических символов. Перемещение всего проекта полностью для Юникода позволило решить больше проблем, чем я могу считать.)
Ответ 4
Эта статья от Джоэла Спольского должна вам очень помочь.
Ответ 5
Юникод - это промышленный согласованный стандарт для последовательного представления текста, способного представлять мировые системы символов. Все разработчики должны знать об этом, поскольку глобализация вызывает все большую озабоченность.
Ответ 6
Один (открытый) источник кода для обработки Unicode ICU - компоненты интернационализации для Unicode. Он включает ICU4J для Java и ICU4C для C и С++ (представляет собой интерфейс C, использует компилятор С++).
Ответ 7
Unicode - это набор символов, который отличается от ASCII (который содержит только буквы для английского языка, 127 символов, одна треть из которых фактически является непечатаемыми управляющими символами) содержит около 2 миллионов символов, включая символы всех известных языков (китайский, Русский, греческий, арабский и т.д.) И некоторые языки, о которых вы, вероятно, никогда не слышали (даже много символов мертвого языка, которые больше не используются, но полезны для архивирования древних документов).
Поэтому вместо того, чтобы иметь дело с десятками разных кодировок символов, у вас есть одна кодировка для всех (что также упрощает смешивание символов с разных языков в пределах одной текстовой строки, так как вам не нужно переключать кодировку где-то в середине текстовой строки). На самом деле еще осталось много места, у нас далеко не все 2 миллиона персонажей; Консорциум Unicode мог легко добавлять символы еще на 100 языков, даже не опасаясь исчерпать пространство символов.
Практически любая книга на любом языке, который вы можете найти в библиотеке сегодня, может быть выражена в Unicode. Unicode - это имя самой кодировки, как она выражается как "байты" - это другая проблема. Существует несколько способов написания символов Юникода, таких как UTF-8 (от одного до шести байтов - один символ, в зависимости от номера символа, английский - почти всегда один байт, другие римские языки могут быть два или три, возможно, китайский/японский), UTF-16 (большинство символов - два байта, некоторые редко используемые - четыре байта) и UTF-32, каждый символ - четыре байт. Есть и другие, но они являются доминирующими.
Unicode - это кодировка по умолчанию для многих новых ОС (в Mac OS X почти все есть Unicode) и языки программирования (Java использует Unicode в качестве кодировки по умолчанию, обычно UTF-16, я слышал, что Python делает это также и будет использовать или уже делает используйте UTF-32). Если вы когда-нибудь планируете написать приложение, которое должно отображать, хранить или обрабатывать что-либо, кроме простого текста на английском языке, лучше использовать Unicode, тем лучше.
Ответ 8
Здесь вы можете найти отличный гид:
Ответ 9
Unicode - это стандарт, который перечисляет символы и дает им уникальные числовые идентификаторы (называемые "кодовыми точками" ). Он включает в себя очень большой и растущий набор символов для большинства современных письменных языков, а также множество экзотических вещей, таких как древнегреческие музыкальные нотации.
В отличие от других схем кодирования символов (например, ASCII или стандартов ISO-8859), Unicode ничего не говорит о представлении этих символов в байтах; он просто дает универсальный набор идентификаторов персонажам. Поэтому неправильно говорить, что Unicode является "16-разрядной заменой для ASCII".
Существуют различные схемы кодирования, которые могут представлять произвольные символы Unicode в байтах, включая UTF-8, UTF-16 и другие.
Ответ 10
Вам не нужно изучать юникод, чтобы использовать его, это адская сложная норма. Вам просто нужно знать основные проблемы и как ваши инструменты программирования справляются с этим. Чтобы узнать об этом, проверьте ссылку Galwegian и ваш язык программирования и документацию ide.
E.G:
Вы можете преобразовать любой символ с латинского-1 в unicode, но он не работает по-другому для всех персонажей. PHP позволяет вам теперь, когда некоторая функция (например, stristr) не работает с unicode. Python объявляет строку unicode таким образом: u "Hello World".
Это то, что вы должны знать.
Зная, что, если у вас нет хорошей причины не использовать Юникод, просто используйте его.