導航:首頁 > 編程語言 > java字元串轉hex

java字元串轉hex

發布時間:2023-08-25 14:26:27

java怎麼把16進制的字元串轉化為十進制

toHexString
public static String toHexString(int
i)以十六進制的無符號整數形式返回一個整數參數的字元串表示形式。
如果參數為負,那麼無符號整數值為參數加上
232;否則等於該參數。將該值轉換為十六進制(基數 16)的無前導 0 的 ASCII 數字字元串。如果無符號數的大小值為零,則用一個零字元 '0'
('\u0030') 表示它;否則,無符號數大小的表示形式中的第一個字元將不是零字元。用以下字元作為十六進制數字:
0123456789abcdef

這些字元的范圍是從 '\u0030' 到 '\u0039' 和從 '\u0061' 到 '\u0066'。如果希望得到大寫字母,可以在結果上調用
String.toUpperCase() 方法:
Integer.toHexString(n).toUpperCase()
參數:
i
- 要轉換成字元串的整數。
返回:
用十六進制(基數 16)參數表示的無符號整數值的字元串表示形式。
// 轉化字元串為十六進制編碼

public static String toHexString(String s)
{
String str="";
for
(int i=0;i<s.length();i++)
{
int ch = (int)s.charAt(i);
String s4
= Integer.toHexString(ch);
str = str + s4;
}
return str;
}

// 轉化十六進制編碼為字元串
public static String toStringHex(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)
{

❷ java中 hex 轉換成字元串 怎麼轉

java中 hex 轉換成字元串方法:
public class Test {

private static String hexString = "0123456789ABCDEFabcdef";
public static void main(String[] args) {
String msg= "親,你好";
System.out.println(encode(msg));
System.out.println(decode(encode(msg)));
}

public static String encode(String str) {
byte[] bytes = str.getBytes();
StringBuilder sb = new StringBuilder(bytes.length * 2);
//轉換hex編碼
for (byte b : bytes) {
sb.append(Integer.toHexString(b + 0x800).substring(1));
}
str = sb.toString();
return str;
}
//把hex編碼轉換為string
public static String decode(String bytes) {
bytes = bytes.toUpperCase();
ByteArrayOutputStream baos = new ByteArrayOutputStream(bytes.length() / 2);
// 將每2位16進制整數組裝成一個位元組
for (int i = 0; i < bytes.length(); i += 2)
baos.write((hexString.indexOf(bytes.charAt(i)) << 4 | hexString.indexOf(bytes.charAt(i + 1))));
return new String(baos.toByteArray());
}
}

❸ 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時產生異常。

❹ java 實現對字元串進行GSM(7bit)壓縮編碼後HEX 字元串輸出

JAVA有一個public String(byte bytes[], Charset charset)函數可以用指定位元組數組和編碼來構造字元串。一個public byte[] getBytes(Charset charset)函數把字元串按指定編碼來得到位元組數組。可以用這兩個函數來實現編碼轉換。
下面是一個簡單的例子,注意一下例子中的文字本身的編碼,最好在自己的環境中用gb2312重新輸入,不然可能是亂碼。當然轉換後輸出肯定有一個是亂碼,也肯能都是亂碼。根據你的編輯器的編碼格式有關。
public class EncodingTest{ public static void main(String[] args) { try { String gb = new String("國標2312".getBytes(),"gb2312"); System.out.println(gb); byte [] b = gb.getBytes("gb2312"); String ios = new String(b,"ISO-8859-1"); System.out.println(ios); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } }}

❺ 怎麼把字元串轉化為十六進制字元串 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");

閱讀全文

與java字元串轉hex相關的資料

熱點內容
哪些統計量可以反映數據波動 瀏覽:946
js地圖標記怎麼清空 瀏覽:479
googlenow教程 瀏覽:508
安全四個責任體系內容文件 瀏覽:965
南陽政務app怎麼注冊 瀏覽:343
照片壓縮包同一路徑的文件能刪嗎 瀏覽:590
路由沒網路怎麼辦 瀏覽:745
南京網站推廣大概多少錢 瀏覽:983
js隱藏列印出來 瀏覽:135
手工之家app哪裡下載 瀏覽:328
網路教育聯盟英語考試是什麼 瀏覽:69
macairwin10忘記密碼 瀏覽:716
java上傳方法 瀏覽:970
csc文件夾可以刪除嗎 瀏覽:130
打線工具怎麼用 瀏覽:376
mat文件如何轉換為cad 瀏覽:761
qq瀏覽器舊版本614 瀏覽:713
將資料庫文件批量導出excel 瀏覽:262
招投標文件在招標公司存多少年 瀏覽:551
u盤空間不足不能復制系統鏡像文件 瀏覽:212

友情鏈接