Tag: hex

Java JTextArea动态列和行编号

我有一个快速的谷歌,我似乎无法找到一个很好的解决方案,主要是因为我不知道如何描述它。 本质上,我需要在JTextArea显示任意数量的hex字符,并且我希望它们间隔均匀,并且字符的顶部和左侧显示字符的位置。 这是我想要实现的一个例子,这是hex查看器WinHex。 我一直在玩转换一个字节数组到一个字符串,然后文本包装它,但我有一些奇怪的结果。 任何关于如何实现类似的东西的建议都将受到赞赏。 我考虑的另一个选择是使用JTable,但我想知道这是否会使问题稍微复杂化。 也许。 谢谢

用Java读取文件的前10个字节

for (String name : filenames) { FileInputStream in = new FileInputStream(input.readUTF()); int byteCounter = 0; int rowCounter = 0; long bufferCounter = 0; byte[] b = new byte[8]; int read; //in.skip(10); //while((read = in.read()) != -1){ while((read = in.read(b, 0, 10)) != -1){ byteCounter ++; if (byteCounter != 1000){ if (rowCounter == 16){ System.out.println(“\n”); rowCounter […]

这是将字符串hex转换为字节的最佳方法吗?

这是将字符串hex转换为字节的最佳方法吗? 或者你能想得更短/更简单吗? public static byte[] hexToBytes(String hex) { return hexToBytes(hex.toCharArray()); } public static byte[] hexToBytes(char[] hex) { int length = hex.length / 2; byte[] raw = new byte[length]; for (int i = 0; i < length; i++) { int high = Character.digit(hex[i * 2], 16); int low = Character.digit(hex[i * 2 + 1], 16); int […]

用于匹配文件中hex数的Java Regex

所以我正在读一个文件(如java程序<trace.dat),它看起来像这样: 58 68 58 68 40 c 40 48 FA 如果我很幸运,但更常见的是每行前后都有几个空白字符。 这些是hex地址,我正在解析,我基本上需要确保我可以使用扫描仪,缓冲读取器…任何东西,并确保我可以然后将hex转换为整数。 这是我到目前为止: Scanner scanner = new Scanner(System.in); int address; String binary; Pattern pattern = Pattern.compile(“^\\s*[0-9A-Fa-f]*\\s*$”, Pattern.CASE_INSENSITIVE); while(scanner.hasNextLine()) { address = Integer.parseInt(scanner.next(pattern), 16); binary = Integer.toBinaryString(address); //Do lots of other stuff here } //DO MORE STUFF HERE… 所以我已经将我的所有错误都追溯到解析输入和东西所以我想我只是想弄清楚我需要什么样的正则表达式或方法来让我按照我想要的方式工作。

hex字符串到int数组转换

我遇到了如何将hex字符串转换为无符号字节数组或整数数组的问题。 请看这个例子。 String s= “1f5621ff8963545a12152250”; //this is my hex string 我想将此字符串转换为int数组 int buff[]={0x1f,0x56,0x21,0xff,0x89,0x63,0x54,0x5a,0x12,0x15,0x22,0x50}; 我怎么能这样做…… 感谢帮助..

在Java中使用16位hex字符串到signed int

我在Java中有一个字符串表示HEX中带符号的16位值。 此字符串可以是”0000″到”FFFF” 。 我使用Integer.parseInt(“FFFF”,16)将其转换为整数。 但是,这将返回无符号值( 65535 )。 我希望它返回一个有符号的值。 在此特定示例中, “FFFF”应返回-1 。 我怎样才能做到这一点? 由于它是一个16位的值,我想到使用Short.parseShort(“FFFF”,16)但这告诉我,我超出了范围。 我猜parseShort()期望一个负号。

Java – 将解析和无符号hex字符串转换为带符号的long

我有一堆hex字符串,其中之一,例如: d1bc4f7154ac9edb 这是hex值“-3333702275990511909”。 如果你做Long.toHexString(“d1bc4f7154ac9edb”),你就得到了相同的hex数; 现在,让我们假设我只能访问hex字符串值,就是这样。 这样做: Long.parseLong(hexstring, 16); 不起作用,因为它将它转换为对Long而言太大的不同值。 是否可以将这些无符号hex值转换为有符号长整数? 谢谢!

C#和Java中的hex到字节数组给出了不同的结果

首先,对于长篇文章感到抱歉,我想包括我的所有想法,以便你们更容易找到我的代码有什么问题。 我想将一个Hex字符串从C#应用程序传输到Java应用程序。 但是,当我在两种语言中将相同的hex值转换为字节数组时,输出是不同的。 例如,相同的hex值给出 [101, 247, 11, 173, 46, 74, 56, 137, 185, 38, 40, 191, 204, 104, 83, 154] 在C#和 [101, -9, 11, -83, 46, 74, 56, -119, -71, 38, 40, -65, -52, 104, 83, -102] 在Java中 以下是我在C#中使用的方法: public static string ByteArrayToHexString(byte[] byteArray) { return BitConverter.ToString(byteArray).Replace(“-“,””); //To convert the whole array } public static […]

在Java中给定Color对象获取相应的hex颜色代码的方法?

我已经检查了Color的Java类文档,发现我可以使用Color.decode();从hex代码字符串(eg “#FFFFFF”)生成一个Color对象Color.decode(); 方法。 我想为我正在处理的项目实现反向过程,但似乎没有为此类内置的方法。 是否有捷径可寻?

如何在Java中将字节数组转换为hex格式

我知道您可以使用printf并使用StringBuilder.append(String.format(“%x”, byte))将值转换为HEX值并在控制台上显示它们。 但我希望能够实际格式化字节数组,以便每个字节显示为HEX而不是十进制。 这是我的代码的一部分,我已经说过了我说的前两种方式: if(bytes > 0) { byteArray = new byte[bytes]; // Set up array to receive these values. for(int i=0; i 0) { byteArray[i] = (byte)Integer.parseInt(byteString, 16); // Parse value into binary data array. } else { System.out.println(“String is empty!”); } offSet += CHARSPERBYTE; // Set up for next word hex. } StringBuilder […]