方法如下:
瑞昌網(wǎng)站建設公司創(chuàng)新互聯(lián),瑞昌網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為瑞昌1000多家提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務好的瑞昌做網(wǎng)站的公司定做!
/* *
* Convert byte[] to hex string.這里我們可以將byte轉(zhuǎn)換成int,然后利用Integer.toHexString(int)
*來轉(zhuǎn)換成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[]轉(zhuǎn)化成16進制字符串,
Java是一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言的各種優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實現(xiàn)了面向?qū)ο罄碚?,允許程序員以優(yōu)雅的思維方式進行復雜的編程。
一個16進制的byte數(shù)組轉(zhuǎn)化成utf-8格式的字符串的方法有以下幾種:
使用C語言,可以定義一個函數(shù),將每個byte分成高4位和低4位,然后分別轉(zhuǎn)換成對應的16進制字符,再拼接起來。
使用Java語言,可以使用Integer.toHexString()方法,將每個byte轉(zhuǎn)換成兩個16進制字符,再拼接起來。
使用Python語言,可以使用binascii.hexlify()方法,將byte數(shù)組轉(zhuǎn)換成16進制字符串。
: 十六進制元素數(shù)組與字符串相互轉(zhuǎn)換(C語言)_c語言16進制數(shù)組轉(zhuǎn)換字符串_wangqingchuan92的博客-CSDN博客 : java中byte數(shù)組與十六進制字符串相互轉(zhuǎn)換 - 騰訊云開發(fā)者社區(qū)-騰訊云 : python - How to convert a byte array to a hex string in Python? - Stack Overflow
分類: 電腦/網(wǎng)絡 程序設計 其他編程語言
問題描述:
我用的java1.4 請問如何將十六進制整形數(shù)轉(zhuǎn)化為十進制的
解析:
import java.awt.*;
public class d2x extends Frame
{
int decimalValue= 0;
String baseXValue = new String("0");
TextField dDisplay,xDisplay;
d2x constructor
d2x()
{
super("Decimal Converter");set the title of the frame
MenuBar mb = new MenuBar();
Button d2Binary = new Button("Binary");
Button d2Octal = new Button("Octal");
Button d2Hex = new Button("Hex");
Button d2Base36 = new Button("Base36");
Panel p1 = new Panel();
Panel p2 = new Panel();
Panel p3 = new Panel();
add a simple menu
Menu m = new Menu("Application");
m.add(new CheckboxMenuItem("Base 36 Active"));
m.add(new MenuItem("Exit"));
add menu to menubar
mb.add(m);
setMenuBar(mb);install this menu bar in the frame
Add buttons to their own panel
p3.setLayout(new FlowLayout());
p3.add(d2Binary);
p3.add(d2Octal);
p3.add(d2Hex);
p3.add(d2Base36);
Add text fields
Label dLabel = new Label("Enter Deecimal: ");
Label xLabel = new Label("Converted Value: ");
dDisplay = new TextField(Integer.toString(decimalValue),7);
xDisplay = new TextField(baseXValue,32);
xDisplay.setEditable(false);
p1.setLayout(new FlowLayout(FlowLayout.LEFT));
p2.setLayout(new FlowLayout(FlowLayout.LEFT));
p1.add(dLabel);
p1.add(dDisplay);
p2.add(xLabel);
p2.add(xDisplay);
Add the panels
add("North",p1);
add("Center",p2);
add("South",p3);
}end d2x constructor
public void start()
{
resize(400,150);
show();
}
public void updateXDisplay()
{
xDisplay.setText(baseXValue);
}
public boolean handleEvent(Event evt)
{
if (evt.target instanceof MenuItem)
{
if ("Exit".equals(((MenuItem)evt.target).getLabel()))
{
hide();
dispose();
System.exit(0);
return false;
}
return true;
}
else if(evt.target instanceof Button)
{
String whick = ((Button)evt.target).getLabel();
if (whick.equals("Binary"))
{
decimalValue = Integer.parseInt(dDisplay.getText());
baseXValue = Integer.toString(decimalValue,2);
}
if (whick.equals("Octal"))
{
decimalValue = Integer.parseInt(dDisplay.getText());
baseXValue = Integer.toString(decimalValue,8);
}
if (whick.equals("Hex"))
{
decimalValue = Integer.parseInt(dDisplay.getText());
baseXValue = Integer.toString(decimalValue,16);
}
if (whick.equals("36"))
{
decimalValue = Integer.parseInt(dDisplay.getText());
baseXValue = Integer.toString(decimalValue,36);
}
updateXDisplay();
return true;
}
return false;
}
public static void main(String args[])
{
d2x m = new d2x();
m.start();
}
}