我从这样的char中获取ascii代码(使用C语言):
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码但不是好的:/
你知道它为什么不起作用吗?我怎样才能让它发挥作用?
感谢。
答案 0 :(得分:0)
我认为你的问题是assiiCode是一个浮点数,尝试将其声明为unsigned int
答案 1 :(得分:0)
因为char是-127到127.你不能像那样使用扩展的ASCII表。
我建议您改用wchar
。查看wchar.h
和wctype.h
手册。