當前位置:首頁 » 編程軟體 » 編譯器無法用gbk編碼

編譯器無法用gbk編碼

發布時間: 2022-08-04 00:29:38

① 這個編譯器的編碼格式無論怎麼設置都是GBK都無法設置成UTF-8有人知道是怎麼回事嗎

public byte[] gbk2utf8(String chenese){
char c[] = chenese.toCharArray();
byte [] fullByte =new byte[3*c.length];
for(int i=0; i<c.length; i++){
int m = (int)c[i];
String word = Integer.toBinaryString(m);
// System.out.println(word);
StringBuffer sb = new StringBuffer();
int len = 16 - word.length();
//補零
for(int j=0; j<len; j++){
sb.append("0");
}
sb.append(word);
sb.insert(0, "1110");
sb.insert(8, "10");
sb.insert(16, "10");
// System.out.println(sb.toString());
String s1 = sb.substring(0, 8);
String s2 = sb.substring(8, 16);
String s3 = sb.substring(16);
byte b0 = Integer.valueOf(s1, 2).byteValue();
byte b1 = Integer.valueOf(s2, 2).byteValue();
byte b2 = Integer.valueOf(s3, 2).byteValue();
byte[] bf = new byte[3];
bf[0] = b0;fullByte[i*3] = bf[0];bf[1] = b1;fullByte[i*3+1] = bf[1];bf[2] = b2;fullByte[i*3+2] = bf[2];
}
return fullByte;

}

java 錯誤需要為class、interface或enum

[javac] HelloWorld.java:1: 需要為 class、interface 或 enum
[javac] 鍩縫ackage com.csdn.demo;
[javac] ^
[javac] 1 錯誤

這個錯誤出現的主要原因是java文件的編碼問題。
在中文操作系統中,使用一貫的「javac HelloWorld.java」方式編譯UTF-8(帶BOM)編碼的.java源文件,在沒有指定編碼參數(encoding)的情況下,默認是使用GBK編碼。當編譯器用GBK編碼來編譯UTF-8文件時,就會把UTF-8(帶BOM)編碼文件的文件頭的佔3個位元組的頭信息,按照GBK中漢字占兩個位元組、英文佔1個位元組的特性解碼成了「亂碼」的兩個漢字。這個源文件應該是用記事本另存存為UTF-8編碼造成的。

對於非GBK及其子集編碼(GB2312)的正確的源文件,編譯方式為「javac -encoding "UTF-8" HelloWord.java」,這樣代碼錯誤的指定代碼里就不會出現亂碼的中文。
但是依然會有錯誤,提示「HelloWorld.java:1: 非法字元: \65279。
這是因為.java對於UTF-8編碼,只識別UTF-8(不帶BOM)那種。而記事本只支持保存文件為帶簽名的UTF-8,那有沒有辦法解決呢?
當然是有的,那就是使用EmEditor、EditPlus、UltraEdit或Notepad++之類的工具另存為UTF(不帶BOM)(區別於帶UTF + BOM)的編碼文件。這時候使用「javac -encoding "UTF-8" HelloWorld.java」,就沒有上述編碼問題了。

也許有人會說,「我乾脆都用GBK不就行了嗎,為什麼還要用UTF-8呢?」

這是因為UTF-8支持世界多種語言的文字,被世界多數國家接受,是國際通用編碼,也是Java推薦使用的編碼。Java集成開發環境Eclipse中默認編碼就是UTF-8。如果使用GBK,尤其是做網站,在非漢語國家,將無法正常瀏覽。在信息化時代,國際交往日益頻繁;做軟體和網站,不能只著眼當前,也要為日後維護做優化、降低維護成本。

③ C編譯器打開記事本文件亂碼

多半是字元編碼問題
重新手動輸入一次
ASCII有128字元
ANSI有256個字元(前128個和ASCII相同)
unicode是雙位元組,理論上有大約256*256=65536個字元。
Windows 95/98/ME使用的是GBK(ANSI)內核編碼(兼容ASCII),
Windows 2000/XP/2003是使用得是UNICODE內核編碼(不直接兼容ASCII),但是通過代碼頁也可以直接調用ASCII、ANSI、GB2312、GBK、GB18030等編碼字元

④ mac下clion,中文亂碼,編輯器編碼格式是utf-8,我切換成GBK亂碼就好了,但我得每個文件都這么操作下

代碼文件是GBK編碼存儲,因為代碼部分的編碼都是的ascii的所以對編譯不影響。
實在想看代碼注釋,可以在clion彈出的框框點擊Reload(對源碼文件無影響)或convert(對源碼文件有影響)。
問:按住ctrl+滑鼠鍵可以實現查看函數本身,但同時會顯示右鍵菜單?如何不顯示右鍵菜單?
答:可能電腦安裝了什麼軟體,例如有道詞典或什麼的會觸發右鍵。默認情況下ctrl+滑鼠左鍵不會彈出右鍵菜單。
問:以及過去了怎麼回退到剛才的函數入口文件出?
答:按一下滑鼠側鍵的後退鍵。

建議:如果問題比較多,建議拆封成多個獨立問題,或者用數字標號標一下,這么做可以顯著提高問題被回答的概率。

碼字不易,望採納!

⑤ 怎麼處理警告:編碼 GBK 的不可映射字元

輸入javac -encoding utf-8 文件名.java。就可以解決了。

當Java源代碼中包含中文字元時,我們在用javac編譯時會出現「錯誤:編碼GBK的不可映射字元」。

由於JDK是國際版的,我們在用javac編譯時,編譯程序首先會獲得我們操作系統默認採用的編碼格式(GBK),然後JDK就把Java源文件從GBK編碼格式轉換為Java內部默認的Unicode格式放入內存中,然後javac把轉換後的Unicode格式的文件編譯成class類文件。

此時,class文件是Unicode編碼的,它暫存在內存中,緊接著,JDK將此以Unicode格式編碼的class文件保存到操作系統中形成我們見到的class文件。當我們不加設置就編譯時,相當於使用了參數:javac -encoding GBK Test.java,就會出現不兼容的情況。

拓展資料:

javac 是java語言編程編譯器。全稱java compiler。javac工具讀由java語言編寫的類和介面的定義,並將它們編譯成位元組代碼的class文件。javac 可以隱式編譯一些沒有在命令行中提及的源文件。用 -verbose 選項可跟蹤自動編譯。當編譯源文件時,編譯器常常需要它還沒有識別出的類型的有關信息。對於源文件中使用、擴展或實現的每個類或介面,編譯器都需要其類型信息。這包括在源文件中沒有明確提及、但通過繼承提供信息的類和介面。

JDK(Java Development Kit)稱為Java開發包或Java開發工具,是一個編寫Java的Applet小程序和應用程序的程序開發環境。JDK是整個Java的核心,包括了Java運行環境(Java Runtime Envirnment),一些Java工具和Java的核心類庫(Java API)。不論什麼Java應用伺服器實質都是內置了某個版本的JDK。主流的JDK是Sun公司發布的JDK,除了Sun之外,還有很多公司和組織都開發了自己的JDK,例如,IBM公司開發的JDK,BEA公司的Jrocket,還有GNU組織開發的JDK


參考資料:網路-javac常見錯誤

⑥ 用codeblocks編寫C 代碼輸出中文信息 怎麼出現了亂碼

Code::Blocks預設文件編碼是UTF-8
從菜單Settings->Compiler and debugger。。。。
打開編譯器設定對話框,在Compiler setting tab上,選擇Other Option,添加下面的設定
-fexec-charset=GBK -finput-charset=UTF-8
告訴編譯器,文件輸入字元編碼是utf-8,執行時以gbk編碼對待

⑦ notepad++寫Java程序,只要出現中文編譯就報編碼GBK不可映射字元!

你選擇第一個ANSI編碼試試!因為你編碼是使用了utf-8,解碼中文,默認調用GBK,這里必須解碼,編碼,使用一致才可以顯示。

⑧ 如何讓latex編輯器採用 gbk 編碼

不同編輯器有不同設置方法, 這個沒有統一的

⑨ Javascript不支持gbk編碼

你的js文件是放在哪裡的?如果是以前編好的,可以用在網頁上,沒問題的,輸出時會按網頁的編碼來輸出。你可以先在頁面上編寫,然後復制過去。如果,你想看的話,需要讓編譯環境來確定它的編碼,我不知道你的環境是什麼,給你看個MyEclipse的例子吧:這個時候,js本身並沒變,只是編譯器可以識別了。而且,各編譯器的設置也不一樣,要自己好好找找 在我的印象里 css 可以設置字元集,js設置不了,如果LZ有答案的話,請共享,謝謝。

熱點內容
java至尊 發布:2025-02-09 08:03:23 瀏覽:558
pythonwith 發布:2025-02-09 08:00:25 瀏覽:172
Ftp打開文件是只讀模式 發布:2025-02-09 07:40:55 瀏覽:504
androidlistview點擊事件 發布:2025-02-09 07:25:52 瀏覽:171
targz解壓縮 發布:2025-02-09 06:59:19 瀏覽:311
wpsphp 發布:2025-02-09 06:58:41 瀏覽:962
視易鋒雲系統如何架設輔助伺服器 發布:2025-02-09 06:47:08 瀏覽:770
mysql備份腳本shell 發布:2025-02-09 06:46:33 瀏覽:15
騰訊雲伺服器怎樣調整解析度 發布:2025-02-09 06:46:30 瀏覽:369
php上一個頁面 發布:2025-02-09 06:41:25 瀏覽:490