1. java中将16进制字符串转换byte数组
为什么你中间要专门写这个 ,(byte)0xFF,(byte)0xFF,
这两个数字有啥特别的么
2. java byte转16进制
//将指定byte数组以16进制的形式打印到控制台
public
static
void
printHexString(
byte[]
b)
{
for
(int
i
=
0;
i
<
b.length;
i++)
{
String
hex
=
Integer.toHexString(b[i]
&
0xFF);
if
(hex.length()
==
1)
{
hex
=
'0'
+
hex;
}
System.out.print(hex.toUpperCase()
);
}
}
3. java中如何将byte[]里面的数据转换成十六进制
/* *
* Convert byte[] to hex string.这里我们可以将byte转换成int,然后利用Integer.toHexString(int)
*来转换成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[]转化成16进制字符串,希望能帮到你。
4. JAVA中有多个十六进制字符串转成Byte数组,有什么方法
给你如下两个方法,你可以试试:
publicstaticbyteuniteBytes(bytestr0,bytestr1){
byte_b0=Byte.decode("0x"+newString(newbyte[]{str0})).byteValue();
_b0=(byte)(_b0<<4);
byte_b1=Byte.decode("0x"+newString(newbyte[]{str1})).byteValue();
byteret=(byte)(_b0^_b1);
returnret;
}
publicstaticbyte[]HexString2Bytes(Stringstr){
byte[]ret=newbyte[str.length()/2];
byte[]tmp=str.getBytes();
for(inti=0;i<str.length()/2;i++){
ret[i]=uniteBytes(tmp[i*2],tmp[i*2+1]);
}
returnret;
}
demo:
Stringstr="1A543C3265C133D23F416E21"
byte[]by=HexString2Bytes(str);
5. java byte,二进制,16进制
看样子,是4个8位。。。。。
有用的是前面2个8位。。。。。
(byte[3] & 0x4) == 4 ? 0 : 1 设置第4位
6. java把16进制的字符串装换成16进制形式的byte数组
public static void main(String[] args) {
String[] s = "0X0C|0X03|0X00|0X04|0X00|0X02|0X84|0XD7".split("|");
Map<String,Object> map = new HashMap<String,Object>();
for (int i = 0; i < s.length; i++) {
System.out.println(s[i].getBytes());
map.put(s[i], s[i].getBytes());
}
}
?不太明白意思 转成16进制,做什么?
7. java byte 怎么表示16进制
* Convert byte[] to hex string.这里我们可以将byte转换成int,然后利用Integer.toHexString(int)来转换成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();
}
/**
* Convert hex string to byte[]
* @param hexString the hex string
* @return byte[]
*/
public static byte[] hexStringToBytes(String hexString) {
if (hexString == null || hexString.equals("")) {
return null;
}
hexString = hexString.toUpperCase();
int length = hexString.length() / 2;
char[] hexChars = hexString.toCharArray();
byte[] d = new byte[length];
for (int i = 0; i < length; i++) {
int pos = i * 2;
d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1]));
}
return d;
}
/**
* Convert char to byte
* @param c char
* @return byte
*/
private byte charToByte(char c) {
return (byte) "0123456789ABCDEF".indexOf(c);
}
8. java中如何将byte[]里面的数据转换成十六进制
方法如下:
/* *
* Convert byte[] to hex string.这里我们可以将byte转换成int,然后利用Integer.toHexString(int)
*来转换成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[]转化成16进制字符串,
9. 在java中将16进制转化为byte类型,再将byte类型转换回来,请大神解答急
public class HexCodec {
private static final char[] kDigits = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a',
'b', 'c', 'd', 'e', 'f' };
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 value = (high << 4) | low;
if (value > 127)
value -= 256;
raw[i] = (byte) value;
}
return raw;
}
public static byte[] hexToBytes(String hex) {
return hexToBytes(hex.toCharArray());
}
}
public static String toHex(byte b){
return (""+"0123456789ABCDEF".charAt(0xf&b>>4)+"0123456789ABCDEF".charAt(b&0xf));
}
10. Java:转16进制时常见的【byte[i] & 0xFF】是什么意思呢
int v ; 这里不论你赋值给v什么值,v都会是四个字节的整数
所以,调用Integer.toHexString(v); 出来的还是32位的字符串
b[i] & 0xFF只是保证了v的前三个字节是0,只有最后一个字节有数