编程gbk
1. java编程!为什么我的DOS窗口不能正确的打出中文是GBK的编码呀
检查你的窗口的Active code page是多少,简体中文是936。如果不是需要修改。
用法参见:chcp /?
2. 想问下关于从utf8到GBK编码转换的问题
1,通过unicode中转
2,不可行。字符的表现形式是字体提供的,一个宋体,一个黑体,你怎么比较?
没有对应关系的表格,就无法转换。
3. ASCII是GBK的一个子集吗国内电脑编程的时候,可以输出中文和英文,是支持两种编码还是支持GBK编码
不是,ASCII和GBK的关系其实是并列的,一般的通用字符集是UTF-8,不管是GBK、GB2312、HZ、GB18030、ISO-8859-1、Big5、ANSI、Unicode一般都是向UTF-8转化后显示的(谁让UTF-8兼容性高呢),至于ASCII,则拥有自己的字库集。
4. 用Java编程时,总是显示我的注释错误,说是编码gbk的不可映射字符,可以这些都在注释里为什么会错
这是因为:由于JDK是国际版的,在编译的时候,如果我们没有用-encoding参数指定我们的JAVA源程序的编码格式,则javac.exe首先获得我们操作系统默认采用的编码格式,也即在编译java程序时,若我们不指定源程序文件的编码格式,JDK首先获得操作系统的file.encoding参数(它保存的就是操作系统默认的编码格式,如WIN2k,它的值为GBK),然后JDK就把我们的java源程序从file.encoding编码格式转化为JAVA内部默认的UNICODE格式放入内存中。然后,javac把转换后的unicode格式的文件进行编译成.class类文件,此时.class文件是UNICODE编码的,它暂放在内存中,紧接着,JDK将此以UNICODE编码的编译后的class文件保存到我们的操作系统中形成我们见到的.class文件。对我们来说,我们最终获得的.class文件是内容以UNICODE编码格式保存的类文件,它内部包含我们源程序中的中文字符串,只不过此时它己经由file.encoding格式转化为UNICODE格式了。当我们不加设置就编译时,相当于使用了参数:javac -encoding gbk XX.java,当然就会出现不兼容的情况。
解决办法是:应该使用-encoding参数指明编码方式:javac -encoding UTF-8 XX.java,这下没警告了,运行也正确了在JCreator 4中设置:菜单:Configure --> Options --> JDK Tools --> Compiler,选中<Default>,然后选Edit,Parameters里面,最前面添加:-encoding UTF-8。
Parameters原来的
默认值为:-classpath "$[ClassPath]" -d "$[OutputPath]" $[ModJavaFiles]
修改后为:-encoding UTF-8 -classpath "$[ClassPath]" -d "$[OutputPath]" $[ModJavaFiles]
5. linux下c++编程 GBKTOUTF8问题
GLIB_INCLUDES=`pkg-config --cflags glib-2.0 gthread-2.0`
GLIB_LIBS=`pkg-config --libs glib-2.0 gthread-2.0`
/*
* writed by kf701
*/
#include <stdio.h>
#include <glib.h>
int main(int argch,char *argv[])
{
GError * ge = NULL;
char inbuf[20*1024];
FILE *in = fopen(argv[1],"r");
int size = fread( inbuf, 1, sizeof(inbuf), in );
printf( "file size = %d\n", size );
int outlen = 0, readlen = 0;
char *out = g_convert( inbuf, size, "UTF-8", "GBK", &readlen, &outlen, &ge );
printf( "convert outlen=%d , readlen = %d\n", outlen, readlen );
if( NULL == out )
{
printf("out is NULL,err=%s\n", ge->message);
exit(0);
}
char output_file[128];
sprintf( output_file, "utf8-%s", argv[1] );
FILE *of = fopen( output_file, "w" );
int n = fwrite( out, 1, outlen, of );
printf( "fwrite n = %d\n", n);
}
调用一下glib库.就好了
6. 关于java编程的GBK和UTF-8字符集问题
你用javac -encoding UTF-8 Exerc02.java能正常输出, 说明你的java文件的编码是utf8
你用javac Exerc02.java编译出错, 说明你的系统默认编码不是utf8
推测你应该是window系统吧
记事本打开Exerc02.java文件, 文件另存为-->选择编码ANSI保存
然后javac Exerc02.java就可以编译了
7. 在vb中如何编写程序使得utf-8编码转为gbk编码
哇塞 7年后我遇到同一个问题 居然还没解决
8. 编程中如何存储和处理中文,是否要用到gbk编码或者utf-8编码
private function loaderHandler(event:*):void {
switch(event.type) {
case Event.COMPLETE:
trace(_loader.data.result);
break;
case Event.OPEN:
trace("open: " + event);
break;
case ProgressEvent.PROGRESS:
trace("progress: " + event);
break;
9. SDK编程,为什么得到的字符串是乱码
应该是编码格式的问题吧
//ISO编码转为GBK编码
public static String ISOtoGBK(String s) {
String str = "";
try {
if (s == null || s == "" || s.equals("")) {
str = s;
} else {
str = new String(s.getBytes("ISO8859-1"),"GBK");
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return str;
}