【【java解惑】十六进制加法问题】教程文章相关的互联网学习教程文章

java – 将RGB颜色值转换为十六进制字符串【代码】

在我的Java应用程序中,我能够获得红色,绿色和蓝色的JButton颜色;我将这些值存储在三个整数中. 如何将这些RGB值转换为包含等效十六进制值的String? 一个例子是“#0033fA”解决方法:您可以使用String hex = String.format("#%02x%02x%02x", r, g, b); 如果您希望得到的十六进制数字大写(#FFFFFF vs. #ffffff),请使用大写X.

在Java中,如何将十六进制字符串转换为byte []?【代码】

参见英文答案 > Convert a string representation of a hex dump to a byte array using Java? 25个我在Java中使用以下函数将加密的String转换为十六进制格式:public static String toHex(byte [] buf) {StringBuffer strbuf = new StringBuffer(buf.length * 2);int i;for (i = 0; i < buf.length; i++) {if (((int) buf[i] & 0xff) < 0x10) {strbuf.append("0");}strbuf.append(Long.toStri...

如何将十六进制字符串转换为Java字符串?【代码】

为了记录目的,我们将日志转换为字节数组,然后转换为十六进制字符串.我想在Java String中取回它,但我无法这样做. 日志文件中的十六进制字符串看起来像fd00000aa8660b5b010006acdc0100000101000100010000我怎么解码这个?解决方法:在Apache Commons中使用Hex:String hexString = "fd00000aa8660b5b010006acdc0100000101000100010000"; byte[] bytes = Hex.decodeHex(hexString.toCharArray()); System.out.println(new String(b...

在java对象中存储大十六进制数(md5)的最有效方法

考虑到以下用例,将文件的MD5总和存储在java(或groovy)对象中的最有效方法(性能和存储空间最佳)是什么: >我需要与数以千计的其他md5总和进行比较.>我可能需要将其存储在HSQLDB中,以便可以根据md5提取/分组记录>可以作为键存储在Map中 我试图避免将其存储为String作为字符串比较将更昂贵并占用更多空间. BigInteger(字符串,基数)会更有效吗?另外,如果在数据库中持久存在,应该选择什么数据类型?解决方法:创建一个包装byte []并且不...

java – 如何将大字符串转换为十六进制,然后转换为字节?【代码】

我使用手机并每天处理MEID号码.因此,我没有在线搜索MEID(长度为14的十六进制数)到伪ESN(长度为8的十六进制数)计算器,我想我可以创建自己的程序.从MEID获得pESN的方法在理论上相当简单.例如,给定MEID 0xA0000000002329,为了生成pESN,需要将SHA-1应用于MEID. A0000000002329上的SHA-1给出了e3be267a2cd5c861f3c7ea4224df829a3551f1ab.取这个结果的最后6个十六进制数,并将其追加到0x80 – 结果是0x8051F1AB. 现在这是我到目前为止的代...

java – 字节数组的十六进制编码形式,不同于同一字节数组“object”转换为字节数组.为什么?【代码】

这个问题是出于好奇而不是迫切需要而被问到的.我发现了一些将对象转换为字节数组的代码(我以为我当时需要它). 使用commons-codec我注意到纯字节数组的编码十六进制字符串表示与我通过下面的“toByteArray”方法传递字节数组得到的不同.我注意到较长的版本以Hex字符串表示的较短版本结束. 本能地这似乎不对,为什么会发生这种情况? 通过“toByteArray”转换方法找到的额外字节代表什么? 我猜它与编码有关? 非常感谢,我希望这不是一...

(Java)将十进制/十六进制写入文件,而不是字符串

如果我有一个文件,并且我想在字面上写’42′(值,而不是字符串),例如是十六进制的2a,我该怎么做?我希望能够使用outfile.write(42)或outfile.write(2a)之类的东西,而不是将字符串写入文件. (我意识到这是一个简单的问题,但我找不到谷歌的答案,可能是因为我不知道正确的搜索条件)解决方法:要编写二进制数据,您需要使用OutputStream(例如FileOutputStream). 如果您发现您的数据是以字符串形式写的,那么您可能正在使用Writer(例如FileW...

为什么在Java中将十六进制数转换为字节不起作用?【代码】

“字节FOO = 0xFE;”在java中不起作用. “无法转换为字节”但它适用于C语言.怎么解决这个?解决方法:值0xFE在int中等于254,并且不在byte的范围内,因此如果您尝试将其存储在一个字节中,则不会进行隐式类型转换.您的RHS值必须在[-128到127]范围内才能以字节为单位. 或者,您可以通过显式类型转换明确告诉编译器存储它:byte FOO = (byte)0xFE;但是,如果存储的值可以适合byte的范围,则不需要显式的类型转换.byte FOO = 0x20; // OK, c...

Java – 十六进制颜色到RGB颜色【代码】

我有一个十进制(非十六进制)颜色代码,使用Java,我需要将其转换为三种RGB颜色. 例如,16777215(纯白色)需要转换为红色:255绿色:255蓝色:255.65280(纯绿色)需要转换为红色:0绿色255:蓝色:0 Here是转换器以获取更多示例. 只是做一些小的计算并在上面链接的页面上玩计算器,我已经确定: >红色等于65536(256 ^ 2) >(25565536 = 16711680,又名纯红色) >绿色等于256(256 ^ 1) >(255256 = 65280,又名纯绿色) >蓝色等于1(256 ^ 0) >(25...

java – 问题将Base64字符串转换为十六进制字符串【代码】

TLDR:我遗漏的边缘情况是什么,或者我的算法中将Base64字符串转换为十六进制字符串是否有错误? 我最近决定尝试Matasano Crypto Challenges,但无论出于何种原因,我决定尝试编写第一个挑战,而不使用库来转换Hex和Base64字符串. 我已经设法让Hex到Base64转换工作,但是从输出中可以看出,当我尝试将Base64转换回Hex时会有轻微的异常(例如,将Base64的最后四个值与Hex输出进行比较) ).Hex To Base64:Should Print: SSdtIGtpbGxpbmcge...

java – 比较带符号的十六进制数【代码】

我必须在java卡中使用int,但由于卡本身不支持整数,我使用byte []代替. 为了用十六进制格式表示数字,我检查第一位,如果它是1 – 负,如果它是0 – 正(二进制).因此,如果前导位小于8则为正,否则为负(十六进制). 最高人数:7FFFFFFF 最低人数:80000000 现在我想知道我是否想要比较一个值,例如. 00000001如果是高/低,是否在没有最高有效位(FFFFFFF> 0000001> 0000000)的情况下进行检查并单独检查最高有效位(如果> 7 =>负,否则=>正)或...

Java中二进制字节与十六进制互转【代码】

在Java中字节与十六进制的相互转换主要思想有两点: 1、二进制字节转十六进制时,将字节高位与0xF0做"&“操作,然后再左移4位,得到字节高位的十六进制A;将字节低位与0x0F做”&“操作,得到低位的十六进制B,将两个十六进制数拼装到一块AB就是该字节的十六进制表示。 2、十六进制转二进制字节时,将十六进制字符对应的十进制数字右移动4为,得到字节高位A;将字节低位的十六进制字符对应的十进制数字B与A做”|"运算,即可得到十六进制...

java – 将十六进制转换为String【代码】

要将String转换为十六进制,我正在使用:public String toHex(String arg) {return String.format("%040x", new BigInteger(1, arg.getBytes("UTF-8"))); }这在最高投票的答案中概述:Converting A String To Hexadecimal In Java 我如何反向,即十六进制到字符串?解决方法:您可以从转换后的字符串重建bytes [],这是一种方法:public String fromHex(String hex) throws UnsupportedEncodingException {hex = hex.replaceAll("^(00)...

java – 如何使用十六进制值指定android中LinearGradient的颜色【代码】

ShapeDrawable.ShaderFactory sf = new ShapeDrawable.ShaderFactory() {@Overridepublic Shader resize(int width, int height) {LinearGradient lg = new LinearGradient(0, 0, 0, border.getHeight(),new int[] { Color.CYAN, Color.WHITE, Color.WHITE}, //substitute the correct colors for thesenew float[] {0, 0.45f, 0.55f, 1 },Shader.TileMode.REPEAT);return lg;}}在这段代码而不是使用Color.CYAN我想插入颜色的十六进...

想在java中发送十六进制字符串数据【代码】

我在char []数组中有Integer数据.例如:12,03,10.我想以字符串形式发送十六进制格式的数据. 例如:0C030A 但在转换成十六进制后,我得到了C3A.请建议我把正确的数据作为0C030A. 我使用以下代码String messageBody = "A3"; SimpleDateFormat sdf = new SimpleDateFormat("MM:dd:yy:HH:mm:ss"); String currentDateandTime = sdf.format(new Date(mLocation.getTime())); char[] temp; temp = currentDateandTime.split(delimiter); f...