я получить код ASCII из полукокса, как это (с использованием C языка сайта):C: неверный символ для преобразования ASCII (символ из расширенной таблицы ASCII)
char * text = "5°";
int sizeText = strlen(text);
int i = 0;
float asciiCode;
for(i=0; i<sizeText; i++) {
asciiCode = (GLfloat)text[i];
}
Это хорошо работает для таблицы ASCII (символы число от 0 до 127), но оно не работает с символами из расширенной таблицы ASCII. Например, я получаю -62 от этого символа «°» (это должно быть 248).
Я попытался с несколькими кодирования, как UTF-8 и ISO 8859-1 (я использую Eclipse CDT кстати), я получил различный ASCII-код каждый раз, но не хороший:/
У вас есть любая идея, почему она не работает? Как я могу заставить его работать?
Спасибо.
Как вы показываете значения? Почему вы назначаете код ASCII для 'float'? Если я делаю 'printf (« 5 ° »), он работает отлично. Проблема заключается в том, что вы присваиваете знак '248' (который эквивалентен -62 как номер) подписанному символу' float', который хранит его как '-62', и теперь это всего лишь номер. – lurker
Вы не знаете, точно знаю, что «это должно быть 248». Подписанность «char» зависит от платформы. – Bathsheba
Почему в аду вы использовали бы «графический тип», например, GLfloat для управления значениями символов, которые также являются целыми числами – Guiroux