㈠ linux c语言 sscanf提取字符串中的数字乱码
sscanf(cmt,"%*[^0-9]%[0-9]",imt);
sscanf(cmt,"%*[^0-9]%[0-9]",imf);
㈡ linux用java socket与c的socket通信乱码问题
应该就是字符集问题。
首先要确定Linux返回的数据中,采用了那种编码方式,如:GBK。
对应的,在Java一端,将字符串信息转换成byte数组并写入Socket,读出的数据也转换成字符串,
如:
String s = "中文" ;
sockoutputstream.write (s.getBytes ("GBK")) ;
读出来时候,
byte [] buf = sockinputStream.read ()
String s = new String (buf, "GBK") ;
这样就可以了。
㈢ linux中用emacs编辑的.C文件,用GCC编译后,再次打开,变成了乱码
你确定你打开的是对的文件吗?你打开的极有可能是.o文件,或者是编译以后生成的文件,你可以file一下你打开的文件:file xxx,看下文件格式
㈣ linux 解决乱码:LANG=C
环境变量LANG,LANG:language,语言对应的环境变量,不同语言又对应的是不同的液山字符编码方式
比如我们最常见到的编码方式:utf、utf-8、gb2312、gbk、big5等
控制编码格举埋散式文件: /etc/sysconfig/i18n
默正氏认值:
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
查看当前LANG
查看所有语言包
设置LANG命令
例如,(C对应ASCII编码)
bashrc: export LANG=C
cshrc: setenv LANG C