導航:首頁 > 編程語言 > javaascii轉字元

javaascii轉字元

發布時間:2025-07-23 02:30:36

① 急!急!java中ASCII轉碼問題

看了幾位的回答,感覺有點好笑,樓主本身就出了一個假命題,幾位回答都沒有弄清字元集的轉換,樓主也不知道自己本身就犯了一個致命錯誤,「你好」本身就是一個多位編碼,你卻硬要用低位碼去解碼,不出錯才怪呢?
String s1 =new String(chinaString.getBytes("gb2312"),"ISO-8859-1");

這里的gb2312可以省略,系統會默認用你控制面板設定好的字元集,因為原來「你好」是多位編碼,所以必須用多位編碼去解碼,也就是gb2312或utf-8去解碼,這樣chinaString.getBytes("gb2312")就變成一個byte數組,這時候你可以隨意重新指定編碼如iso-8859-1,這是s1就變成一個是iso-8859-1編碼的字元串,如果你想重新轉為中文,那麼,你用什麼字元集編碼的,必須用什麼字元集來解碼,這里是iso-8859-1,可以這么來做

String s2 = new String(s1.getBytes("ISO-8859-1"),"gb2312");
這樣s2又重新變回中文了,所以當你列印s2時,就是「你好」。

還有一個問題,為什麼這里用iso-8859-1來重新編碼,而不用其他的字元集呢?這里因為,其他字元集無法相互轉碼而發生編碼丟失現象,你可以試試,把iso-8850-1換成utf-8試試,這無法重新轉回來,這導致亂碼現象,如果你ios-8850-1換成gbk,大部分是可以的,因為gbk兼容gb2312,但是,不是所有的都能相互轉回來,最好用iso-8850-1來作為中間轉碼字元集,這是因為所有的字元集都對iso-8859-1兼容,不管是gbk還是gb2312,utf-8,都能完美地轉換回來。

說了這么多,可能大家還有點迷糊,這應用在什麼地方。我舉個例子,大家知道,經常有人做網路爬蟲,把網頁下載下來,但是,網頁編碼各種各樣,主要有iso-8859-1,gbk,gb2312,utf-8,網頁以io位元組流下載下來,要想把它轉換字元流,也就是文字,這時候要知道編碼是什麼。怎麼辦呢?這樣做,不管它,首先以iso-8859-1編碼轉換過來,然後再用正則表達式看看網頁頭部,如:
<meta content="text/html; charset=gb2312" http-equiv="Content-Type">,這時就知道這個網頁的編碼是gb2312,再利用這個式子
String s2 = new String(s1.getBytes("ISO-8859-1"),"gb2312");
s2就能正確顯示網頁內容。假如你用其他字元集如utf-8作為中間碼,也能知道網頁編碼是gb2312,但這是你用式子
String s2 = new String(s1.getBytes("utf-8"),"gb2312"),就會出現亂碼現象,所以最好用iso-8859-1作為中間碼。

所以,樓主除了犯以上錯誤以外,還有,就不應該用US-ASCII作為中間碼,否則,是不能轉換為中文的,它們之間無法做到相互轉換,只有iso-8859-1才能完美轉換成其他編碼。

② java byte 數組里存的是ascii碼,怎麼轉成字元串

byte[]b=newbyte[]{65,66,67,68};//位元組數組
Strings=newString(b,"ascii");//第二個參數指定編碼方式
System.out.print(s);

③ JAVA把ASCII碼轉變為字元串

publicclassTTTTT{

publicstaticvoidmain(String[]args){
Stringstring="1041011081123210910133";
System.out.println(asciiToString(string));
}

(Stringtext){
StringBuilderbuilder=newStringBuilder();
for(inti=0;i<text.length();i++){
if(text.charAt(i)<='2'&&i<=text.length()-3){
intcode=Integer.parseInt(text.substring(i,i+3));
builder.append((char)code);
i+=2;
}else{
intcode=Integer.parseInt(text.substring(i,i+2));
builder.append((char)code);
i+=1;
}
}
returnbuilder.toString();
}

}

你這編碼很怪啊,結果竟然是help me!

1041011081123210910133
解析起來很麻煩那,不是3位3位的。
104
101
108
112
32
109
101
33

④ Java中,如何把ascii碼轉換成字元

在Java中,將ASCII碼轉換成字元的方法有兩種主要情況:單個ASCII碼轉換和一串ASCII碼轉換。以下是具體的答案:

對於單個ASCII碼轉換成字元

總結

⑤ java中 怎麼把一個ascii轉換成字元串

下面的代碼是轉ascii的例子你可以參考下。
import java.io.UnsupportedEncodingException;
public class T {
public static void main(String[] args) throws UnsupportedEncodingException {
t1();//ASCII轉換為字元串

t2();//字元串轉換為ASCII碼

}
public static void t1(){//ASCII轉換為字元串

String s="22307 35806 24555 20048";//ASCII碼

String[]chars=s.split(" ");
System.out.println("ASCII 漢字 \n----------------------");
for(int i=0;i<chars.length;i++){
System.out.println(chars[i]+" "+(char)Integer.parseInt(chars[i]));
}
}
public static void t2(){//字元串轉換為ASCII碼

String s="新年快樂!";//字元串

char[]chars=s.toCharArray(); //把字元中轉換為字元數組

System.out.println("\n\n漢字 ASCII\n----------------------");
for(int i=0;i<chars.length;i++){//輸出結果

System.out.println(" "+chars[i]+" "+(int)chars[i]);
}
}
}

閱讀全文

與javaascii轉字元相關的資料

熱點內容
php邊框 瀏覽:919
pythonmysql增刪改查 瀏覽:193
下載app時收費怎麼退 瀏覽:862
php獲取html標簽的值 瀏覽:959
紅包雨app怎麼賺錢 瀏覽:721
楚留香為什麼沒有伺服器 瀏覽:733
伺服器怎麼用手機搭建 瀏覽:432
存儲伺服器如何掛載到伺服器 瀏覽:376
編譯安裝pythondev 瀏覽:110
農信卡app密碼忘記了怎麼辦 瀏覽:847
文明史pdf 瀏覽:587
妻友app蘋果怎麼下載 瀏覽:141
win10系統如何遠程桌面連接到伺服器 瀏覽:279
編譯原理張晶是哪的人 瀏覽:271
資深程序員怎麼做 瀏覽:403
程序員那麼可愛三年前發生了什麼 瀏覽:243
跑腿app源碼上傳 瀏覽:268
html5簡單小游戲源碼 瀏覽:22
在轉轉app怎麼領福利 瀏覽:358
app的雙重認證怎麼解除 瀏覽:224