當前位置:首頁 » 編程語言 » java字元串16進制

java字元串16進制

發布時間: 2023-09-18 01:21:21

『壹』 java字元串轉換為十六進制數組

字元串作為函數change的參數inputStr
byte[] change(String inputStr) {
byte[] result = new byte[inputStr.length() / 2];
for (int i = 0; i < inputStr.length() / 2; ++i)
result[i] = (byte)(Integer.parseInt(inputStr.substring(i * 2, i * 2 +2), 16) & 0xff);
return result;
}

『貳』 Java 16進制字元串轉化成十六進制數字

沒懂啥意思,可以先將字元串轉化為整型,後面有需要了,再將整型轉化為16進制的數字

		intparseInt=Integer.parseInt("cc",16);
System.out.println(parseInt);
StringhexString=Integer.toHexString(parseInt);
System.out.println(hexString);

『叄』 java中如何將byte[]裡面的數據轉換成十六進制

方法如下:

/* *

* Convert byte[] to hex string.這里我們可以將byte轉沖脊換成int,然後利用Integer.toHexString(int)

*來轉換成16進制字元散悔滲串。

* @param src byte[] data

* @return hex string

*/

public static String bytesToHexString(byte[] src){

StringBuilder stringBuilder = new StringBuilder("");

if (src == null || src.length <= 0) {

return null;

}

for (int i = 0; i < src.length; i++) {

int v = src[i] & 0xFF;

String hv = Integer.toHexString(v);

if (hv.length() < 2) {

stringBuilder.append(0);

}

stringBuilder.append(hv);

}

return stringBuilder.toString();

}

此方法能將byte[]轉化成16進制字元串,

『肆』 請教JAVA怎麼將十六進制轉換為字元串,多謝

privatestaticStringhexString="0123456789ABCDEF";
publicstaticvoidmain(String[]args){
System.out.println(encode("中文"));
System.out.println(decode(encode("中文")));
}
/*
*將字元串編碼成16進制數字,適用於所有字元(包括中文)
*/
publicstaticStringencode(Stringstr){
//根據默認編碼獲取位元組數組
byte[]bytes=str.getBytes();
StringBuildersb=newStringBuilder(bytes.length*2);
//將位元組數組中每個位元組拆解成2位16進制整數
for(inti=0;i<bytes.length;i++){
sb.append(hexString.charAt((bytes[i]&0xf0)>>4));
sb.append(hexString.charAt((bytes[i]&0x0f)>>0));
}
returnsb.toString();
}

/*
*將16進制數字解碼成字元串,適用於所有字元(包括中文)
*/
publicstaticStringdecode(Stringbytes){
ByteArrayOutputStreambaos=newByteArrayOutputStream(bytes.length()/2);
//將每2位16進制整數組裝成一個位元組
for(inti=0;i<bytes.length();i+=2)
baos.write((hexString.indexOf(bytes.charAt(i))<<4|hexString
.indexOf(bytes.charAt(i+1))));
returnnewString(baos.toByteArray());
}
親測可行,支持中文!!!

『伍』 java 怎麼用正則表達式判斷一個字元串是否為16進制數,且如果包含字母要轉為大寫

用正則表達式判斷一個字元串是否為16進制數的Java程序如下(不知道是不是你想要的)

publicclassAA{
publicstaticvoidmain(String[]args){
Strings="123bf";
Stringregex="^[A-Fa-f0-9]+$";
if(s.matches(regex)){
System.out.println(s.toUpperCase()+"是16進制數");
}else{
System.out.println(s.toUpperCase()+"不是16進制數");
}
}
}

運行結果
123BF是16進制數

『陸』 怎麼把字元串轉化為十六進制字元串 java

思路:用一個初始化為0~9~a~f的字元串數組,也就是一個十六進制對應表,用這個對應表即可算出一個十六進制字元串的數值。

方法如下:
public static String str2HexStr(String str) {
char[] chars = "0123456789ABCDEF".toCharArray();
StringBuilder sb = new StringBuilder("");
byte[] bs = str.getBytes();
int bit;
for (int i = 0; i < bs.length; i++) {
bit = (bs[i] & 0x0f0) >> 4;
sb.append(chars[bit]);
bit = bs[i] & 0x0f; //位於運算

sb.append(chars[bit]); //進行字元串的拼接

}
return sb.toString();
}

調用方法如下:
String str = str2HexStr("asbd");

熱點內容
滑板鞋腳本視頻 發布:2025-02-02 09:48:54 瀏覽:431
群暉怎麼玩安卓模擬器 發布:2025-02-02 09:45:23 瀏覽:557
三星安卓12彩蛋怎麼玩 發布:2025-02-02 09:44:39 瀏覽:743
電腦顯示連接伺服器錯誤 發布:2025-02-02 09:24:10 瀏覽:536
瑞芯微開發板編譯 發布:2025-02-02 09:22:54 瀏覽:146
linux虛擬機用gcc編譯時顯示錯誤 發布:2025-02-02 09:14:01 瀏覽:232
java駝峰 發布:2025-02-02 09:13:26 瀏覽:651
魔獸腳本怎麼用 發布:2025-02-02 09:10:28 瀏覽:532
linuxadobe 發布:2025-02-02 09:09:43 瀏覽:212
sql2000資料庫連接 發布:2025-02-02 09:09:43 瀏覽:726