編程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;
}