Java编程:16进制与字符串转换函数解析

1星 需积分: 50 14 下载量 87 浏览量 更新于2024-07-18 2 收藏 62KB DOCX 举报
"这个文档包含了Java编程中关于算法和代码实现的关键内容,特别是涉及到16进制和字符串的转换函数,对于学习和理解Java中的数据转换非常有帮助。" 在Java编程中,处理16进制和字符串的相互转换是非常常见的需求。上述代码提供了四个关键的函数,用于实现这一目标: 1. `printHexString(String hint, byte[] b)`:这个函数的作用是将给定的字节数组`b`以16进制的形式打印到控制台上。它接受一个提示字符串`hint`和一个字节数组作为参数,然后遍历数组中的每个字节,将其转换为16进制字符串,并确保结果始终为两位。这样可以确保输出的16进制数在打印时对齐,方便阅读。 2. `Bytes2HexString(byte[] b)`:此函数将字节数组`b`转换为对应的16进制字符串。同样是遍历字节数组,但这里的结果不是直接打印,而是构建一个16进制字符串返回。与`printHexString`类似,如果16进制数字不足两位,会在前面补零。 3. `uniteBytes(byte src0, byte src1)`:这个函数将两个ASCII字符(分别表示为`src0`和`src1`)组合成一个字节。首先,它将两个输入字节分别转换为16进制字符串,然后解析这两个字符串得到对应的字节值。将`src0`左移四位,然后与`src1`进行异或操作,结果就是组合后的字节。 4. `hexString2Bytes(String src)`:此函数将一个包含16进制字符的字符串`src`分割成每两个字符一组,然后将这些16进制字符转换成对应的字节,最后返回一个字节数组。这个函数可以将如"2B44EFD9"这样的16进制字符串转化为字节数组`{0x2B, 0x44, 0xEF, 0xD9}`。 这些函数在实际开发中有着广泛的应用,比如在网络通信、数据存储、加密解密等领域。理解并熟练掌握这些转换方法对于提升Java程序员的技能至关重要。在处理二进制数据和十六进制字符串的场景下,能够灵活运用这些工具将大大提高工作效率。
2019-12-15 上传
160个项目开发实例,聊天项目,小游戏适和新手学习(项目采用GBK编码)。 import java.util.*; import java.io.*; import java.awt.*; import java.awt.event.*; import java.applet.*; import javax.swing.*; class Gobang extends JFrame implements Runnable, ActionListener { final static int Player=1; final static int AI =-1; ClassLoader cl = this.getClass().getClassLoader(); Toolkit tk = Toolkit.getDefaultToolkit(); int length=14, game_state, winner, check, step; int grid[][] = new int[length][length]; int locX, locY /* 囱竚 */, count /* 硈囱计 */, x, y /* 既竚 */, displace_x=0, displace_y=0 /* 簿秖 */, direction; ArrayList steps = new ArrayList(); /* 癘魁囱˙ */ JPopupMenu control_menu = new JPopupMenu(); /* 龄匡虫 */ JMenuItem[] command = new JMenuItem[4]; String[] command_str={"囱", "郎", "弄郎", "秨"}; int[][] dir = { {-1, -1}, {-1, 0}, {-1, 1}, {0, -1}, {0, 1}, {1, -1}, {1, 0}, {1, 1} }; boolean[] dir2 = new boolean[8]; boolean turn; String message; final JDialog dialog = new JDialog(this, "叫匡", true); Font font=new Font("new_font", Font.BOLD, 20); Grid grids[][] = new Grid[length][length]; Image white= tk.getImage(cl.getResource("res/white.png")); Image black= tk.getImage(cl.getResource("res/black.png")); Image title= tk.getImage(cl.getResource("res/title.png")); Image temp; JPanel boardPanel, bigpanel; JRadioButton[] choice = new JRadioButton[2]; final static int Start =0; final static int Select =1; final static int Playing =2; final static int End =3; final static int nil=-1; /* 礚よ */ final static int oblique_1 =0; /* オ */ final static int oblique_2 =1; /* オ */ final static int horizontal =2; /* 绢 */ final static int vertical=3; /*  */ Gobang() { super("き囱"); boardPanel = new JPanel(); boardPanel.setLayout(new GridLayout(length, length, 0, 0)); boardPanel.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); for(int i=0; i<length; i++) for(int j=0; j<length; j++) {