Я прочитал, что C не определяет, подписан ли char или без знака, а на странице GCC говорится, что он может быть подписан на x86 и без знака в PowerPPC и ARM.
Okey, я пишу программу с GLIB, которая определяет char как gchar (не более того, только способ стандартизации).
Мой вопрос: как насчет UTF-8? Он использует больше, чем блок памяти?
Скажем, что у меня есть переменная
unsigned char * string = "Моя строка с UTF8, в которой есть ~ > çã";
См., если я объявляю свою переменную как
без знака
У меня будет только 127 значений (так что моя программа будет хранить больше блоков mem), или UTF-8 тоже изменится на отрицательный?
Извините, если я не могу объяснить это правильно, но я думаю, что я немного сложный.
Примечание: Спасибо за ответ
Я не понимаю, как это интерпретируется нормально.
Я думаю, что, подобно ascii, если у меня есть подписанная и unsigned char в моей программе, строки имеют разные значения, и это приводит к путанице, представьте себе это в utf8.