[英]convert string to hexadecimal string
我有一個字符串整數值,例如“ 131008130225002”,我需要將其轉換為十六進制字符串。 我嘗試了各種方法
我需要使用ABC的十六進制格式最多12個位置。
我嘗試了Integer.tohex,但超出整數范圍
我的朋友在使用unsigned long的 ios中做相同的工作, 只要數據類型和0x%02llx正則表達式可以轉換nsstring
代碼是:
String x="131008130225002";
System.out.println(x);
// System.out.println(Integer.parseInt(x));
System.out.println(Double.parseDouble(x));
System.out.println(Double.toHexString(Double.parseDouble(x)));
String a1= toHex(x);
System.out.println(a1);
toHex函數:
static String toHex(String arg) {
try {
return String.format("%12x", new BigInteger(1, arg.getBytes("UTF-8")));
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
String x = "131008130225002";
System.out.println(new BigInteger(x).toString(16));
輸出為7726b510936a。
它將long
,因此您可以使用Long.toHexString
。
System.out.println(Long.toHexString(Long.parseLong("131008130225002")));
對於更通用的解決方案, BigInteger
還具有一個toString
函數 ,該函數接受一個基數(當然16是十六進制)。
System.out.println(new BigInteger("131008130225002").toString(16));
以上兩個都打印出7726b510936a
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.