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

javaascii轉utf8

發布時間:2021-11-16 18:39:28

java怎麼把把字元轉成utf-8

java不同編碼之間進行轉換,都需要使用unicode作為中轉。
以utf-8轉gbk為例,示例代碼如下內:
String t = "這是一個字元串容aaa111";
String utf8 = new String(t.getBytes( "UTF-8"));
System.out.println(utf8);
String unicode = new String(utf8.getBytes(),"UTF-8");
System.out.println(unicode);
String gbk = new String(unicode.getBytes("GBK"));
System.out.println(gbk);

⑵ java 如何將「你好」轉成UTF-8 「\u4F60\u597D」 這種編碼

你說的是web中,還是java程序中。這樣轉是毫無必要的,utf-8應該兼容中文,但有時候會出現亂碼的情況。簡單的解決方法是,把你要轉換的內容放到記事本中,然後點「另存為」,在對話框的最下面中間部分有個「編碼」,選擇utf-8就行!你要是想著java程序中轉碼,你用的是MyEclipse嗎,要是的話,我再告訴你。最好把問題說清楚!

⑶ 急!急!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中 怎麼把 ascii碼轉換為 十六進制

使用這個方法可以傳進去的16進制的數字組成的字元串轉化為utf-8格式的字元串

public static String toStringHex1(String s) {
byte[] baKeyword = new byte[s.length() / 2];
for (int i = 0; i < baKeyword.length; i++) {
try {
baKeyword[i] = (byte) (0xff & Integer.parseInt(s.substring(
i * 2, i * 2 + 2), 16));
} catch (Exception e) {
e.printStackTrace();
}
}
try {
s = new String(baKeyword, "utf-8");// UTF-16le:Not
} catch (Exception e1) {
e1.printStackTrace();
}
return s;
}
追問
我要ASCII格式的字元串,有嗎,謝了。

追答
那就修改s = new String(baKeyword, "ASCII")這一行就行了,後面的表示要轉化的編碼格式可以選很多種,以下是你要的代碼

public static String toStringHex1(String s) {
byte[] baKeyword = new byte[s.length() / 2];
for (int i = 0; i < baKeyword.length; i++) {
try {
baKeyword[i] = (byte) (0xff & Integer.parseInt(s.substring(
i * 2, i * 2 + 2), 16));
} catch (Exception e) {
e.printStackTrace();
}
}
try {
s = new String(baKeyword, "ASCII");
} catch (Exception e1) {
e1.printStackTrace();
}
return s;
}

⑸ 如何將ascii的字元串轉換成utf8

如果你說的ascii碼值
是標準的0-127
那不需要轉的
直接就可以用

如果是漢字編碼 比如gb2312 轉成utf8需要查表 或者 找專門的庫
比如 java 裡面就有toUtf8

⑹ java如何把string轉為utf-8

java不同編碼之間進行轉換,都需要使用unicode作為中轉。

String str = "任意字元串";

str = new String(str.getBytes("gbk"),"utf-8");

備注說明:

str.getBytes("UTF-8"); 意思是以UTF-8的編碼取得位元組

new String(XXX,"UTF-8"); 意思是以UTF-8的編碼生成字元串

舉例:

public static String getUTF8XMLString(String xml) {

// A StringBuffer Object

StringBuffer sb = new StringBuffer();

sb.append(xml);

String xmString = "";

String xmlUTF8="";

try {

xmString = new String(sb.toString().getBytes("UTF-8"));

xmlUTF8 = URLEncoder.encode(xmString, "UTF-8");

System.out.println("utf-8 編碼:" + xmlUTF8) ;

} catch (UnsupportedEncodingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

// return to String Formed

return xmlUTF8;

(6)javaascii轉utf8擴展閱讀:

UTF-8編碼規則:

如果只有一個位元組則其最高二進制位為0;如果是多位元組,其第一個位元組從最高位開始,連續的二進制位值為1的個數決定了其編碼的位元組數,其餘各位元組均以10開頭。

實際表示ASCII字元的UNICODE字元,將會編碼成1個位元組,並且UTF-8表示與ASCII字元表示是一樣的。所有其他的UNICODE字元轉化成UTF-8將需要至少2個位元組。每個位元組由一個換碼序列開始。第一個位元組由唯一的換碼序列,由n位連續的1加一位0組成,首位元組連續的1的個數表示字元編碼所需的位元組數。

Unicode轉換為UTF-8時,可以將Unicode二進制從低位往高位取出二進制數字,每次取6位,如上述的二進制就可以分別取出為如下示例所示的格式,前面按格式填補,不足8位用0填補。

⑺ JAVA如何將16進制數字轉換為ASCII中的字元串。

使用這個方法可以傳進去的16進制的數字組成的字元串轉化為內utf-8格式的字元容串

public static String toStringHex1(String s) {
byte[] baKeyword = new byte[s.length() / 2];
for (int i = 0; i < baKeyword.length; i++) {
try {
baKeyword[i] = (byte) (0xff & Integer.parseInt(s.substring(
i * 2, i * 2 + 2), 16));
} catch (Exception e) {
e.printStackTrace();
}
}
try {
s = new String(baKeyword, "utf-8");// UTF-16le:Not
} catch (Exception e1) {
e1.printStackTrace();
}
return s;
}

⑻ java中從伺服器返回的是native2ascii碼 如何轉換為UTF-8

豬哥解答:

1、首先確定你的java編碼是UTF-8還是其他,如果用Eclipse編程,進入java程序,用快捷鍵ALT+Enter查看當前程式編碼,如圖。

2、確認完編碼之後,如果是後台顯示,直接輸出就可以,例如:

Stringstr="u540cu5fd7u5011";

System.out.println(str);

後來輸出為「同志們」。

3、如果是jsp顯示,在jsp中設置charset:

<%@pagecontentType="text/html;charset=UTF-8"%>

然後直接<%=str%>也是可以的。

⑼ java 漢字怎麼轉ascii

java中如何將一個字元轉換為ascii碼:
方法1:
char
c
=
'a
';
byte
b
=(byte)c;
方法2:
直接將這個字元轉化為int型就可以得到ascii碼值
char
c
=
'a
';
int
b
=
c;
//字元的ascii碼值
同理將一個ascii碼轉換為相應的字元:
例如:字元a
int
d
=
97;
char
e
=
(char)d;

閱讀全文

與javaascii轉utf8相關的資料

熱點內容
關於如何使用app的作文200字 瀏覽:402
vivo手機怎麼刪除app上的小鎖 瀏覽:582
手機qq里word文件是什麼形式的 瀏覽:122
固定批註word 瀏覽:283
涉密數據痕跡擦除工具 瀏覽:39
hp暢遊人g3228cx升級 瀏覽:266
120級去哪裡升級 瀏覽:643
換臉app有哪些免費 瀏覽:429
catia如何修改裝配文件 瀏覽:751
360補丁工具nsatool 瀏覽:152
熟知文件內容 瀏覽:488
系統默認的頁面文件 瀏覽:841
禁止吸煙文字ps設計教程 瀏覽:374
少兒編程課有哪些省份 瀏覽:992
網站怎麼上傳源碼 瀏覽:483
word怎麼把文件復制到cdr中 瀏覽:451
網頁文件是一個程序文件 瀏覽:15
win7電腦密碼取消密碼怎麼設置 瀏覽:479
奧迪是看哪個模塊來編程 瀏覽:902
如何鑒別網路上各種心理測試的科學性 瀏覽:291

友情鏈接