java-两个很长的16进制字符串怎么进行异或运算?

问题描述

两个很长的16进制字符串怎么进行异或运算?
str1=""0d1fe39e573488cf""

str2=""0d1fe39e573488ee595acd5c6d4ce0f445476794""

怎不进行异或运算?

由于太长不能转化成long

解决方案

每2个一组,存入数组,然后循环异或。

解决方案二:
byte[] array1 = str1.getBte();
byte[] array2 = str2.getByte();
byte[] array3 - new byte[Math.mzx(array1.length array2.length)];

根据你的需求应该是array1的长度短于array2的长度
一般字符串是从左到右顺序解析,不过array1后面可以补0或1变成和array2一样的长度,
再按位进行异或操作,将结果放入 array3对应的节点中,再str3 = new Sting(array3)看看是不是你想要的结果。

解决方案三:
转换成字节,字节转成int,执行异或操作,试试?

时间: 2025-01-27 14:58:37

java-两个很长的16进制字符串怎么进行异或运算?的相关文章

16进制字符串转数字(C/C++,VB/VB.net,C#)

这个问题看是很简单,但是在不同语言中实现的方式却千差万别,如果不知道方法,还真是麻烦,我就是在C#中遇到该问题,让我费了很大的周折,才在msdn查到. 一.16进制字符串转数字      1.C/C++            I.最简单的办法:sscanf("12AB",,"%x",&lngHex);   //字符也可以为"0x12AB"       II.有个朋友,自行编写函数实现了该功能,据说速度比sscanf快:       BOO

给串口发送16进制字符串命令和包括16进制命令转换为字节数组

using System;using System.Collections.Generic;using System.Text;using System.IO.Ports;namespace SerialPortControl{    public class PortControl    {         /// <summary>        /// 向端口中发送命令.        /// </summary>        /// <param name=&quo

关于byte 进制 float String 编码 16进制字符串转16进制byte的问题

首先 只有String才与编码有关: byte与其他类型转换时,要注意大端点还是小端点, 编码: Ascii Unicode gbk utf-8等等  byte 占 8位 可由两个16进制数(0xff)组成,一个16进制占4位,也可由8位二进制数组成等等,与编码没关系,但可用2进制表示,也可由其他进制表示. "0xff"这样的16进制字符串转换成16进制byte String[] s="0X0C 0X03 0X00 0X04 0X00 0X02 0X84 0XD7"

c语言-如何将数字字符串转为16进制字符串?

问题描述 如何将数字字符串转为16进制字符串? 请教一个示例:如何将数字字符串转为16进制字符串?字符串:char str[20]="1234567890123456";将中间的"789012"转换为16进制的"0C0A14":最后str=""1234560C0A143456"" 如果有描述不清的地方,请指出.多谢! 解决方案 你先用字符串截取到 比如strstr等,""789012&q

ios-IOS 如何把16进制字符串转换成byte 求各位大神 最好能有代码

问题描述 IOS 如何把16进制字符串转换成byte 求各位大神 最好能有代码 IOS 如何把16进制字符串转换成byte?求各位大神 最好能有代码 解决方案 字符串由字符组成,每个字符都占用一定的字节,我记得是4还是多少,这是c语言底层的算法,应该还有其他算法

vb 串口发送16进制-Vb将文本框里输入的十进制数据按chr(13)分割,然后转换成&amp;amp;amp;h+16进制字符串形式

问题描述 Vb将文本框里输入的十进制数据按chr(13)分割,然后转换成&h+16进制字符串形式 例如文本框里输入253chr(13)255chr(13),要求输出结果书"&HFD" "&HFF",看了好多算法,但是还是没有研究出来. 我自己做的结果如下 Private Sub Text2_KeyPress(KeyAscii As Integer) Dim tmp() As String Dim aa As String * 1 Dim rd

C语言:将16进制字符串转化为int类型值

将16进制字符串值转换为 int 整型值   此例中用 "1de" 作为测试字符串,实现代码如下:   [cpp] view plaincopy   #include <stdio.h>   #include <stdlib.h>   #include <string.h>   #include <ctype.h>      /*   * 将字符转换为数值   * */   int c2i(char ch)   {           /

php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串_php技巧

数据库脚本: -- -------------------------------------------------------- -- -- 表的结构 `highot_attachment` -- 复制代码 代码如下: CREATE TABLE IF NOT EXISTS `highot_attachment` ( `id` int(11) NOT NULL auto_increment, `phone_number_id` int(11) NOT NULL COMMENT 'phone_n

java实现颜色Color对象和16进制之间的转换

package com.tsxs.test; import java.awt.Color; public class TestColor { public static void main(String[] args) { System.out.println(toHexFromColor(Color.BLUE)); System.out.println(toColorFromString(toHexFromColor(Color.BLUE))); } /** * Color对象转换成字符串 *