導航:首頁 > 編程語言 > java機內碼ascii碼轉換

java機內碼ascii碼轉換

發布時間:2023-08-06 18:56:33

A. java 將字元串轉換為 ascii 修改值

你的問題描述和你的提問題目貌似不一樣的哦。雖然我很不明白你的疑惑,但是我根據你的題目猜想就是把任意的字元串轉換為ascii碼,對嗎?如果是這樣的,只需要把字元串的每個字元都轉為int型,就可以得到你想要的ascii碼了。
代碼可以參考如下:
public
class
StringToAscii
{
public
static
void
main(String[]
args)
{
String
s
=
"abc123"
;
int[]
arr
=
new
int[s.length()];
for
(int
i
=
0
;
i
<
s.length()
;
i
++
)
{
arr[i]
=
s.charAt(i);
System.out.print(arr[i]
+
","
);
}
}
}

B. 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

C. java Int類型的值 轉換成ascii 值對應的字元

1、將數值 「22545」 轉換成抄 char 類型,然後運行,控制台得到的結果是 中文「塹」.

char b = (char)22545;
System.out.println(b);

2、將中文 「一」 轉換成 int 類型,然後運行,控制台得到的結果是 19968.

int b = '一';
System.out.println(b);

(3)java機內碼ascii碼轉換擴展閱讀:

1、字面值賦值

在使用字面值對整數賦值的過程中,可以將int literal賦值給byte short char int,只要不超出范圍。這個過程中的類型轉換時自動完成的,但是如果你試圖將long literal賦給byte,即使沒有超出范圍,也必須進行強制類型轉換。例如 byte b = 10L;是錯的,要進行強制轉換。

2、表達式中的自動類型提升

除了賦值以外,表達式計算過程中也可能發生一些類型轉換。在表達式中,類型提升規則如下:

所有byte/short/char都被提升為int。

如果有一個操作數為long,整個表達式提升為long。float和double情況也一樣。

D. 急!急!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才能完美轉換成其他編碼。

E. java中 怎麼把 ascii碼轉換為 十六進制

簡單的轉換,如下就可以:
public static void main(String[] agrs) {
String source = "30";
int code ;
code = Integer.parseInt(source, 16);
// 如果30代表是 16進制的30話,就取16
// 如果30代表是 10進制的30話,就取10
// code = Integer.parseInt(source, 10);
char result = (char) code;
System.out.println(result);
}
根據自己程序健壯性的要求,可以對 int code的范圍做出判斷,防止 int轉向char時產生異常。

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

如果是單個字元的話,直接轉換就可以

intd=97;
chare=(char)d;

如果是一串ascii碼的話,最好存在byte[]中

byte[]b={97,98,99};
System.out.println(newString(b));

G. 字元和ASCII碼相互轉換(java編程)

使用強制轉換,'1'--->(byte)'1'即是ascii,要十六進制,就用String.format("%02X",(byte)'1');

System.out.println("'1'ASCII="+((byte)'1'));
System.out.printf("'1'ASCII hex=%02X\n",(byte)'1');
//............

System.out.println("40->"+((char)40) );
System.out.println("59->"+((char)59) );
//..............

System.out.println("0x40->"+((char)0x40) );
//.................

H. 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;
}

閱讀全文

與java機內碼ascii碼轉換相關的資料

熱點內容
電子資料文件有哪些 瀏覽:241
猥瑣貓表情教程 瀏覽:599
android音頻文件格式 瀏覽:458
漫畫臉app哪裡可以下載 瀏覽:959
購買歡樂升級歡樂豆 瀏覽:282
學習智能機器人用什麼編程最好 瀏覽:655
蘋果手機如何管控app 瀏覽:633
mn文件夾 瀏覽:590
安卓平板通用刷機包下載 瀏覽:751
安卓獲取內部存儲路徑 瀏覽:880
寫代碼兩台顯示器 瀏覽:327
unitypackage壓縮文件 瀏覽:493
奕心安卓 瀏覽:563
使用土地的有關證明文件包含哪些 瀏覽:493
數據標注哪裡可以接 瀏覽:482
在家自學編程下什麼學 瀏覽:705
最近很火的app軟體是什麼軟體 瀏覽:862
ai文字工具 瀏覽:157
蘭博玩游戲路徑怎麼選擇正確文件 瀏覽:972
淘寶直通車恢復老版本 瀏覽:510

友情鏈接