Вопрос по ascii, unicode – Являются ли символы Unicode и Ascii одинаковыми?

35

Что именно представляют собой коды символов Unicode? И чем они отличаются от персонажей ascii?

Ваш Ответ

2   ответа
14

Первые 128Unicode кодовые точки такие же, как ASCII. Тогда у них есть 100 000 или около того.

Есть два распространенных формата для Unicode,UTF-8, который использует 1-4 байта для каждого значения (так что для первых 128 символов UTF-8 точно такой же, как ASCII) и UTF-16, который использует 2 или 4 байта.

54

Юникод - это способ присвоения уникальных номеров (называемых кодовыми точками) символам практически всех языков, которые сегодня активно используются, а также многим другим символам, таким как математические символы. Есть много способов кодировать строки Unicode как байты, такие какUTF-8, а такжеUTF-16.

ASCII присваивает значения только 128 символам (a-z, A-Z, 0-9, пробел, некоторые знаки препинания и некоторые управляющие символы).

Для каждого символа, имеющего значение ASCII, кодовая точка Unicode и значение ASCII этого символа совпадают.

В большинстве современных приложений вы предпочитаете использовать строки Unicode, а не ASCII. Это, например, позволит вам иметь пользователей с акцентированными символами в их имени или адресе, а также локализовать ваш интерфейс на других языках, кроме английского.

Но как мне использовать символы Юникода? Я могу использовать символы ascii, просто вводя символы в целые, но могу ли я сделать то же самое для символов Юникода? Ghost
@MarkByers: осторожно, это зависит от языка программирования. Некоторые используют UTF-16 в качестве своего внутреннего представления, поэтому приведение к int может дать вам только половину суррогатной пары.
то, что я говорю, это то, что для получения значения ascii символа мне нужно его типизировать: char a = 'a'; int b = (int) a // ascii значение a Ghost
@Ghost: тот код, который вы только что опубликовали, дает вам код Unicode для символа. Это то же самое, что и значение ASCII для тех символов, которые имеют значение ASCII. Редко когда вам действительно нужно позаботиться о том, какое именно значение кода кода имеет конкретный символ.
@ Призрак: непонятно, зачем вам нужно приводить символы в целые. Что ты пытаешься сделать?

Похожие вопросы