[英]C : wrong char to ascii conversion (char from the extended ascii table)
我从像这样的一个字符(使用C语言)中获取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 btw),每次都得到一个不同的ASCII代码,但不是一个好的代码:/
您知道为什么它不起作用吗? 我该如何运作?
谢谢。
我认为您的问题是assiiCode是浮点型,请尝试将其声明为unsigned int
因为char是从-127到127。您不能使用扩展的ASCII表。
我建议您改用wchar
。 检查wchar.h
和wctype.h
手册。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.