关于转码乱码的问题。
本帖最后由 cklxh520 于 2013-12-24 12:06:13 编辑
EventCode:7023,SourceName:Service Control Manager,Category:0,Type:?FFB4?FFED?FFCE?FFF3,User:NULL,Message:Offline Files ?FFB7?FFFE?FFCE?FFF1?FFD2?FFF2?FFCF?FFC2?FFC1?FFD0?FFB4?FFED?FFCE?FFF3?FFB6?FFF8?FFCD?FFA3?FFD6?FFB9: 系统找不到指定的路径。
我在读系统日志的时候,读出来居然有一半的能显示出中文,有一半不行。(有全部正常显示,也有全部不正常,还有如上一些正常,一些不正常),是什么原因导致的呢?而且这乱码好像也有点奇怪,都是FF开头,是不是转码有什么问题?
[解决办法]
#include <stdio.h>
#include <locale.h>
char s[]="EventCode:7023,SourceName:Service Control Manager,Category:0,Type:?FFB4?FFED?FFCE?FFF3,User:NULL,Message:Offline Files ?FFB7?FFFE?FFCE?FFF1?FFD2?FFF2?FFCF?FFC2?FFC1?FFD0?FFB4?FFED?FFCE?FFF3?FFB6?FFF8?FFCD?FFA3?FFD6?FFB9: 系统找不到指定的路径。";
char *p;
int r,c;
int main() {
setlocale(LC_ALL,"chs");
p=s;
while (1) {
r=sscanf(p,"?FF%2X",&c);
if (r==EOF) break;
if (r==1) {
printf("%c",c);
p+=5;
} else {
printf("%c",p[0]);
p++;
}
}
return 0;
}
//EventCode:7023,SourceName:Service Control Manager,Category:0,Type:错误,User:NULL,Message:Offline Files 服务因下列错误而停止: 系统找不到指定的路径。